2014-09-04 51 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

相關問題