2012-02-26 3 views
0

Я хочу сделать такой запрос.Как выполнить переменную sql с mysqlcommand в VB

SELECT @rownum:[email protected]+1 'rank' FROM (SELECT @rownum:=0) r 

Когда я тестирую его в браузере запросов mysql, он работает хорошо.

Теперь я хочу выполнить его в VB с помощью mysqlCommand. конечно @rownum определяется как параметр и ждет его значения. Как выполнить этот запрос в VB?

ответ

1

Вам нужно будет добавить переменные параметры командования:

command.Parameters.AddWithValue("@rownum", rownum) 

Некоторой документация здесь: http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlparametercollection.html

+0

Вы имели в виду, что я заменил @ rownum из моего текста команды с помощью @ rownum снова? Я пробовал, но он дал мне ошибку в моем синтаксисе .. :( –

0
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> 
1

Вы должны добавить этот ключ к строке подключения «Разрешить пользовательские переменные = True;»

+0

Спасибо, пытался понять это часами! –

Смежные вопросы