【发布时间】:2020-06-07 05:00:15
【问题描述】:
我正在尝试创建一个 Windows 表单,当我输入数据并单击提交时,它会将数据插入到我的数据库中。它适用于简短的事情,但是当我尝试输入一些较长的句子时,它会说:
这是代码:
private void SubmitButton_Click(object sender, EventArgs e)
{
con.Open();
cmd = new SqlCommand("INSERT INTO Jokes VALUES('" + EnterJoke.Text + "', '" + EnterAnswer.Text + "')", con);
cmd.ExecuteNonQuery();
MessageBox.Show(" Data Has Been Saved In Database ");
con.Close();
}
我在这一行得到错误:
cmd.ExecuteNonQuery();
【问题讨论】:
-
这也可能与您输入的具有特殊字符的文本有关,这些特殊字符“可能”转换为某些 SQL 标点符号。你能发布一个失败输入的例子吗?
-
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入 - 查看Little Bobby Tables
-
享受 SQL 注入...也许你应该使用准备好的语句。如果您正确使用它,错误将被删除。
-
这能回答您的问题吗? stackoverflow.com/questions/62081911/…
标签: c# sql-server database-connection