Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#mysql连接_C#_Mysql - Fatal编程技术网

c#mysql连接

c#mysql连接,c#,mysql,C#,Mysql,你好,我有一个执行问题 string MyConString = "SERVER=<snip>;" + "DATABASE=<snip>;" + "UID=<snip>;" + "PASSWORD=<snip>;"; MySqlConnection connection = new MySqlConnection(MyConString); MySqlCommand command = connection.CreateCommand(); co

你好,我有一个执行问题

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="; 
例如,我如何才能做到这一点?
例如,如果我成功了:

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注入漏洞。此外,问题是连接字符串中的值周围没有引号,但使用类似Oded的参数化查询,否则您的站点非常容易被攻击。您需要使用listbox1.SelectedVALUE或listbox1.selectedItem.TEXT。如果这些ToString()不是aleady字符串,则可以强制转换它们。听着,我建议您使用Oded的响应,因为您希望使用参数化查询。但是您要查找的代码是command.CommandText=“updatecharacters SET nobless=1,其中char_name='”+listbox1.SelectedItem.Text+”;没有错误,但它不工作。实际上我不知道如何在这里添加一个文本变量:where char_name=textbox.1text我想这样做,但是怎么做?@user1174925-我已经给了你我所能提供的所有帮助。代码应该替换您的代码行。
command.CommandText = "UPDATE characters SET nobless=1 WHERE char_name="+listbox1.selecteditem.toString();
command.CommandText = "UPDATE characters SET nobless=1 WHERE char_name= @char_name"
command.Parameters.AddWithValue("@char_name", listbox1.SelectedItem);