2014-05-23 57 views
0

我有这样的说法:.NET SqlDataReader的VB C#

if (sqlClass.Reader != null && sqlClass.Reader.HasRows) 
    { 
     do 
     { 
      data = sqlClass.Reader.GetString(0); //error line System.InvalidOperationException {"Invalid attempt to read when no data is present."} 
     } while (sqlClass.Reader.Read()); 
    } 

对象sqlClass.Reader的类型是System.Data.SqlClient.SqlDataReader

在C#中的它给了我一个InvalidOperationException但在VB中它工作得很好,会的原因是什么我该如何解决这个问题?

+1

显示整个错误和错误的太行。 –

回答

4

事情是这样的:

if (null != sqlClass.Reader) 
{ 
    while (sqlClass.Reader.Read()) 
    { 
     data = sqlClass.Reader.GetString(0); 
    } 
} 
+0

该死的你打败了我。我打算写这个。它是使用不同类型的while循环的问题,如您演示的那样 –

+0

您宁愿保留'qlClass.Reader!= null' –

+0

'sqlClass.Reader.HasRows'如果此处没有用处 –