日期:2014-05-19  浏览次数:20926 次

关于SqlDataReader 读数问题
各位大虾,我用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();
                }

------解决方案--------------------
SqlDataReader是只读的,而且是单向的。
即如下的数据1,2,3,4,5,6,7
用SqlDataReader读时,可以读1,2,4,6,7,但是不能读成1,2,7,6,因为SqlDataReader的指针已经指向7了,不能回退,所以不能读了7后再读6