首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

兄弟们帮忙啊 如何少了一条数据啊

2012-02-24 
兄弟们帮忙啊啊怎么少了一条数据啊?protectedvoidPage_Load(objectsender,EventArgse){stringsqlstrSqlDa

兄弟们帮忙啊啊 怎么少了一条数据啊?
protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                string   sqlstr;
                SqlDataReader   read;
                sqlstr   =   "select   classname,classid,infrontclassid   from   class   where   infrontclassid=0 ";
                read   =   data.proc_executereader(sqlstr);//这里是我创建的一个执行sqlstr语句的一个方法,方法如下
                if   (read.Read())
                {
                        mainpart.DataTextField   =   "classname ";
                        mainpart.DataValueField   =   "classid ";
                        mainpart.DataSource   =   read;
                        mainpart.DataBind();
                      //   partbinder();
                }
                else
                {
                }


我数据库里有4条记录
classid=1   classname=中国
classid=2   classname=美国
classid=3   classname=英国
classid=4   classname=法国


但是当页面执行的时候就有3个下拉选项     一个美国一个英国一个法国,,中国那条记录没了/?大哥门帮忙看看啊


这是那个执行SQLSTR语句的方法
        public   SqlDataReader   proc_executereader(string   sqlstr)    
        {
                SqlConnection   conn   =   new   SqlConnection(connection());
                SqlCommand   cmd   =   new   SqlCommand( "easyproc ",   conn);
                cmd.CommandType   =   CommandType.StoredProcedure;
                SqlParameter   para;
                para   =   cmd.Parameters.Add( "@csql ",   SqlDbType.NVarChar,   3000);
                cmd.Parameters[ "@csql "].Value   =   sqlstr;
                para   =   cmd.Parameters.Add( "@total ",   SqlDbType.Int);
                para.Direction   =   ParameterDirection.Output;
                para   =   cmd.Parameters.Add( "@retime ",   SqlDbType.VarChar,   50);
                para.Direction   =   ParameterDirection.Output;
                conn.Open();
                return   cmd.ExecuteReader();
        }

------解决方案--------------------


什么没都不可以没中国啊!
[解决办法]
select classname,classid,infrontclassid from class where infrontclassid=0
你在查询分析器里看看能查出多少?
[解决办法]
string sqlstr;
SqlDataReader read;
sqlstr = "select classname,classid,infrontclassid from class where infrontclassid=0 ";
read = data.proc_executereader(sqlstr);//这里是我创建的一个执行sqlstr语句的一个方法,方法如下

mainpart.DataTextField = "classname ";
mainpart.DataValueField = "classid ";
mainpart.DataSource = read;
mainpart.DataBind();
就这样先试试看,会不会少一条
[解决办法]
中国的infrontclassid是0吗?
[解决办法]
楼主,你确定你“classid=1 classname=中国” 这一行的“infrontclassid”=0吗?

[解决办法]
public SqlDataReader proc_executereader(string sqlstr)
{
SqlConnection conn = new SqlConnection(connection());
SqlCommand cmd = new SqlCommand( "easyproc ", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter para;
para = cmd.Parameters.Add( "@csql ", SqlDbType.NVarChar, 3000);
cmd.Parameters[ "@csql "].Value = sqlstr;
para = cmd.Parameters.Add( "@total ", SqlDbType.Int);
para.Direction = ParameterDirection.Output;
para = cmd.Parameters.Add( "@retime ", SqlDbType.VarChar, 50);
para.Direction = ParameterDirection.Output;
conn.Open();
return cmd.ExecuteReader();
}
--------------
连接要关闭

直接返回一个范泛键值对会比你这个好一点

热点排行