mysql 在字符串sql内使用文本框值时出错

iyr7buue  于 2023-02-11  发布在  Mysql
关注(0)|答案(1)|浏览(101)

"Select item from table1 where Spare parts='"+ textbox1.text+"'".
我曾尝试用Textbox2.text替换item
我使用了:

"Select'"& textbox2.text& "' from table1 where Spare parts='"+ textbox1.text+"'"

我出错了。
我使用了"+ textbox2.text+",也出现了错误

wwwo4jvm

wwwo4jvm1#

你所拥有的是让你的应用程序被黑的最快的方法之一,而不是你如何在SQL语句中包含用户输入。
为了解释正确的方法,我还需要包含上下文的连接和命令对象,所以我可能也有一个与您习惯的不同的模式来处理这些对象。我还假设问题中的mysql标记是准确的(尽管我有怀疑),这样正确的代码看起来更像这样:

string SQL = "Select item from table1 where `Spare parts`= @SpareParts";

using cn  = new MySqlConnection("connection string here")
using cmd = new MySqlCommand(SQL, cn)
{
    cmd.Parameters.AddWithValue("@SpareParts", TextBox1.Text);

    cn.Open();
    using (var rdr = cmd.ExecuteReader())
    {
        while (rdr.Read())
        {
            // ...
        }
    }
}

注意Spare Parts周围的反勾号,这样MySql就会正确地将其视为单个对象名。

相关问题