您的位置:程序门 -> .net技术 -> c#



关于sqldatareader 读数问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于sqldatareader 读数问题[已结贴,结贴人:echosys]
发表于:2007-03-19 17:00:08 楼主
各位大虾,我用sqldatareader读的方法取库中数据时报错,语句  
name   =   mydataread[ "name "].tostring();     报“在没有任何数据时进行无效的读取尝试”的错误,请高手指教,代码应如何写,谢谢!
               

                private   void   button1_click(object   sender,   eventargs   e)
                {
                        string   str=   "server=yang;uid=sa;pwd=123;database=master ";
                        sqlconnection   conn   =   new   sqlconnection(str);
                        string   sql   =   "select   *from   employee ";
                        sqlcommand   comm   =   new   sqlcommand(sql,   conn);
                        conn.open();
                        sqldatareader   mydataread   =   comm.EXECutereader();

                        string   name,sex;
                        name   =   mydataread[ "name "].tostring();
                        sex   =   mydataread[ "sex "].tostring();
                       
                        mydataread.close();
                        conn.close();
                }
发表于:2007-03-19 17:06:021楼 得分:0
先要读出数据
if(mydataread.read())
{
  name   =   mydataread[ "name "].tostring();
                        sex   =   mydataread[ "sex "].tostring();
}

   
*****************************************************************************
欢迎使用csdn论坛专用阅读器   :   csdn   reader(附全部源代码)  

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
发表于:2007-03-19 17:12:322楼 得分:20
sqldatareader是只读的,而且是单向的。
即如下的数据1,2,3,4,5,6,7
用sqldatareader读时,可以读1,2,4,6,7,但是不能读成1,2,7,6,因为sqldatareader的指针已经指向7了,不能回退,所以不能读了7后再读6
发表于:2007-03-19 17:28:333楼 得分:0
二楼正解,mydataread.read()是读取下一行的数据,不执行read()就还没有读取出数据
发表于:2007-03-20 09:16:394楼 得分:0
问题解决,感谢二楼朋友,哈


快速检索

最新资讯
热门点击