Как установить переменную в Mysql из Visual Basic .net, используя параметризованное значение из Texbox

У меня есть эта процедура хранилища, и она прекрасно работает, но мне нужно передать переменную "@item" из Visual Basic .net, код работает с использованием прямого запроса, но он беспорядочный и ненадежный. Мне нужно параметризоваться, отправьте значение из текстового поля.

SET @item = '@vbitem';
SELECT
rm_users.username,
rm_users.enableuser,
rm_users.firstname,
rm_users.lastname,
rm_users.company,
rm_users.phone,
rm_users.mobile,
rm_users.address,
rm_users.city,
rm_users.srvid,
rm_users.staticipcpe,
rm_users.contractid,
rm_users.email,
radacct.nasipaddress,
radacct.callingstationid,
radacct.framedipaddress,
rm_wlan.maccpe,
rm_wlan.ccq,
rm_wlan.`signal`,
rm_wlan.snr,
rm_wlan.apip,
rm_wlan.`timestamp`,
nas.nasname,
nas.shortname,
radacct.acctstoptime
FROM
rm_users
INNER JOIN radacct ON rm_users.username = radacct.username
INNER JOIN rm_wlan ON radacct.callingstationid = rm_wlan.maccpe
INNER JOIN nas ON radacct.nasipaddress = nas.nasname
WHERE
rm_users.username LIKE @item OR
rm_users.firstname LIKE @item OR
rm_users.lastname LIKE @item OR
rm_users.city LIKE @item OR
rm_users.address LIKE @item OR
rm_users.taxid LIKE @item OR
rm_users.company LIKE @item OR
radacct.callingstationid LIKE @item
GROUP BY
rm_users.username
ORDER BY
rm_users.username ASC here

Извлечение кода из Visual Basic

         cmd = New MySqlCommand("procedure-name")
         cmd.Parameters.AddWithValue("@vbitem", textbox.Text)
         cmd.CommandType = CommandType.StoredProcedure

1 ответ

Решение

Если у вашего спрока есть @item Параметр, то вы должны избавиться от этой первой строки в sproc, а затем просто установить @item параметр в коде VB, т.е.

cmd.Parameters.AddWithValue("@item", textbox.Text)
Другие вопросы по тегам