你好我有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