簡體   English   中英

如何在vb.net中進行動態sql查詢?

[英]how to do dynamic sql query in vb.net?

我正在嘗試在vb.net中執行此動態sql查詢,其中我聲明了兩個變量並在每個變量上傳遞一個SELECT

 Dim cmd As New SqlCommand("Declare @val1 int " & _
                           "Declare @val2 int " & _
                           "SET @val1 = 'SELECT Count(*) from table1tbl'" & _
                           "SET @val2 = 'SELECT Count(*) from table2tbl'", conn)
    Dim rdr As SqlDataReader = cmd.ExecuteReader
    rdr.Read()
    Dim str1 = rdr("@val1")
    Dim str2 = rdr("@val2")
    rdr.Close()

我知道這段代碼不對..如何使這個正確? tnx提前

你不能從sqlcommand那樣做,所以要執行你的代碼,你必須創建一個存儲過程並添加到最后:

Select @val1, @val2

要將值作為要創建的表返回。

我假設您正在做一些比您的實際例子更有創意的事情,但無論如何都要在select語句中包含所有內容? 正確的版本應該是這樣的:

選擇(從table1tbl中選擇count(*)),(從table2tbl中選擇count(*))

這將以您想要的格式返回數據,以便您可以使用您發布的代碼閱讀它。

Dim sQuery as String
Dim val1 
Squery = <a> SELECT Count(*) from table1tbl </a>.Value
Using cmd As New SqlCommand(sQuery, con)
  If cmd.Connection.State <> ConnectionState.Open Then
    cmd.Connection.Open()
  End If
val1 = cmd.ExecuteScalar()
End Using

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM