你好我有1個執行問題。c#mysql連接
string MyConString = "SERVER=<snip>;" + "DATABASE=<snip>;" + "UID=<snip>;" + "PASSWORD=<snip>;";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
command.CommandText = "UPDATE characters SET nobless=1 WHERE char_name=";
connection.Open();
try
{
command.BeginExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
MessageBox.Show("Done");
connection.Close();
command.CommandText = "UPDATE characters SET nobless=1 WHERE char_name=";
我想:
WHERE char_name = textbox1.text
例如,我該怎麼辦呢?
例如,如果我讓:
command.CommandText = "UPDATE characters SET nobless=1 WHERE char_name='hello'";
它的工作原理。
,但是當我有它:
command.CommandText = "UPDATE characters SET nobless=1 WHERE char_name="+listbox1.selecteditem.toString();
這是行不通的,其實我想設置爲WHERE =
一個列表框選擇的名字!
你需要什麼「不工作」更加明確指這裏。有錯誤嗎?此外,該代碼還具有SQL注入漏洞。 – JohnFx 2012-01-30 21:01:16
另外,問題是你沒有引用你的連接字符串中的值,但使用像Oded這樣的參數化查詢,否則你的網站是非常黑客的。 – JohnFx 2012-01-30 21:03:53
您需要使用listbox1.SelectedVALUE或listbox1.selectedItem.TEXT。如果它們不是純文本字符串,則可以將它們強制轉換爲ToString()。 – DOK 2012-01-30 21:05:41