我使用MS SQL Server作为我的数据库,使用VB.NET作为我的后端。
我想确定我的sql命令文本中的查询是否返回没有行。 我试图让一个不返回任何行的查询,然后将其值赋给一个变为0的文本框。(整数)
现在的问题是,当我在 If条件中测试它时,它不起作用。 代码是这样的:
If (Query that returns no rows) = 0 Then
'condition
Else
'condition
End If
我尝试了一个空字符串,但它仍然不起作用。请帮忙! 如果可能的话,请给出解决问题的简单方法。 提前谢谢!
答案 0 :(得分:1)
@podiluska是对的。您必须执行该命令。正如我所看到的,您已为Command对象的CommandText属性赋值,该属性是您要执行的查询。要执行该命令,必须打开一个活动连接,然后在命令对象上调用Execute方法。遵循伪代码可能有所帮助:
Public Sub Temp(ByVal connectionString As String)
Dim queryString As String = _
" select * from example where id = 999;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
Try
If reader.Read() Then
'If condition
Else
'condition with no results
End If
Finally
reader.Close()
End Try
End Using
End Sub
答案 1 :(得分:0)
Dim RowsReturned As Integer
Cmd.CommandText = "SELECT * FROM tblExample WHERE PKeyNo =999"
cmd.CommandType = CommandType.Text
RowsReturned = cmd.ExecuteScalar()
If RowsReturned = 0 Then
'No rows
Else
'Has Rows