primary_student_table
中有10行。獲取VB.NET中SQL Server表中的行數
當我執行下面的代碼時,結果是-1。
Dim count As Int16
con.Open()
query = "SELECT COUNT(roll) AS rollcount FROM primary_student_table WHERE admityear = 2011 AND batch = 1 "
cmd = New SqlCommand(query, con)
count = cmd.ExecuteNonQuery
MsgBox(count)
con.Close()
上述代碼中的問題是什麼?
** 1。**脫離主題,但仍然是一個潛在的問題:您不在'cmd'上調用'Dispose'和'con'完成使用後。 ** 2。** Int16沒有什麼問題,但在VB.NET中,您通常會使用關鍵字Short來引用該類型。 ** 3。**理想情況下,您可以在最遲的時刻調用'con.Open()',即在執行命令之前;即通常儘量保持連接在儘可能短的時間內打開。 – stakx
除了491243提到的問題外,'count(*)'和'count(row)'可以產生不同的結果。 – jmoreno