我想做這樣的查詢。如何在VB中使用mysqlcommand執行sql變量
SELECT @rownum:[email protected]+1 'rank' FROM (SELECT @rownum:=0) r
當我在我的mysql查詢瀏覽器上測試它時,它工作正常。
現在,我想用mysqlCommand在VB中執行它。當然@rownum
被定義爲一個參數並等待它的值。我怎樣才能在VB中執行該查詢?
我想做這樣的查詢。如何在VB中使用mysqlcommand執行sql變量
SELECT @rownum:[email protected]+1 'rank' FROM (SELECT @rownum:=0) r
當我在我的mysql查詢瀏覽器上測試它時,它工作正常。
現在,我想用mysqlCommand在VB中執行它。當然@rownum
被定義爲一個參數並等待它的值。我怎樣才能在VB中執行該查詢?
您需要將變量添加到命令的參數:
command.Parameters.AddWithValue("@rownum", rownum)
有些文檔是在這裏:http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlparametercollection.html
dim conn As New MySqlConnection <br>
dim comm As New MySqlCommand<br><br>
dim dAdapter As New MySqlDataAdapter<br>
dim ddata As New DataSet<br>
conn.ConnectionString = "DATABASE=" & ddatabase & ";SERVER=" & Trim(TextBox1.Text) & ";user id=dev;password=revolution;port=" & TextBox3.Text & " ;charset=utf8;<b>Allow User Variables=True" </b><br>
conn.Open() <br>
<br>
comm.Connection = conn<br>
comm.CommandText = "set @rownum = 10"<br>
comm.ExecuteNonQuery() <br>
<br>
ddata.Clear()<br>
ddata.Tables.Clear()<br>
comm.Connection = conn<br>
comm.CommandText = "select @rownum rownum"<br>
dAdapter.SelectCommand = comm <br>
dAdapter.Fill(ddata)<br>
<br>
msgbox(ddata.Tables(0).Rows(0).Item("rownum")) <br>
必須把這個鍵添加到您的連接字符串:「允許用戶變量= TRUE;」
謝謝!一直試圖找出這個好幾個小時! – 2017-05-31 08:59:06
你的意思是我再次用@ rownum從我的命令文本中替換@ rownum嗎?我試過了,但它給了我一個語法上的錯誤.. :( – 2012-02-27 12:23:16