1

我使用 MS SQL Server 作为我的数据库和 VB.NET 作为我的后端。

我想确定我在 sql 命令文本中的查询是否不返回任何行。我试图有一个不返回任何行的查询,然后将其值赋给一个变为 0 的文本框。(整数)

现在的问题是,当我在If 条件下测试它时,它不起作用。代码是这样的:

If (Query that returns no rows) = 0 Then
'condition
Else
'condition
End If

我尝试了一个空白字符串,但它仍然不起作用。请帮忙!如果可能,请给出问题的简单解决方案。先感谢您!

4

2 回答 2

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
于 2013-09-30T11:32:58.303 回答
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
于 2018-08-09T09:48:35.447 回答