2014-09-04 79 views
0

我没得到,因为代码错误这个错误,而是因为那里是我的表中没有数据无效尝试调用read()vb.net之前访问一个字段

如何检查,如果没有数据并返回在变量0

这里是我的代码 我试图让柜台数量,但它的错误时,没有记录

Public Function GetCount() 
    Dim count As Integer 
    Dim cmd As New MySqlCommand 
    Dim reader As MySqlDataReader = Nothing 
    Conn.OpenConn() 
    Dim sqlstr As String 
    sqlstr = "SELECT counter FROM st_sales ORDER BY salesid DESC LIMIT 1" 
    Try 
    'CREATE COMMAND 
    cmd = New MySqlCommand(sqlstr, Conn.Conn) 

    reader = cmd.ExecuteReader() 
    If reader.Read() Then 
     count = reader.GetInt32(0) + 1 
    Else 
     MsgBox("Error") 
    End If 
    Finally 
     reader.Close() 
     Conn.CloseConn() 
    End Try 
    Return count 
End Function 

感谢任何healp

+1

请分享一些代码 - 我们无法知道您在尝试什么。例如,我想你想读一些表/行 - 但是什么? – Carsten 2014-09-04 05:01:09

+0

你可以发布你在哪里得到异常和异常吗?因为这是不应该调用'.GetInt32'如果没有行('reader.Read()'将返回'false'在这种情况下) – Carsten 2014-09-04 05:23:12

+0

我会改变你的查询给你的计数器的总和...例如:SELECT SUM(计数器)FROM st_sales,BAM不需要变量并检查读取器是否有行或不... – Codexer 2014-09-04 06:21:39

回答

0

试试

If reader.HasRows then 
'do the counting 
else 
    count=0 
end if 
+0

是的,这是我需要 – 2014-09-04 06:01:03

相关问题