我通过文本框和按钮在 SQL Server 2005 中存储数据(大约 1500 个字)。我正在使用此代码。
protected void Button1_Click(object sender, EventArgs e)
{
conn.Open();
String query = String.Format("insert into try (data,sno) values ('{0}',22)",TextBox1.Text);
SqlCommand cmd = new SqlCommand(query, conn);
cmd.ExecuteNonQuery();
Label1.Text = "submitted";
conn.Close();
}
我有 'data'
列,数据类型为 'char(4000)'
。
问题是,当我存储第 1 段(大约 1500 字)时,它存储成功。但是当我存储另一段(大约 1500 字)时,它显示错误。
"Incorrect syntax near 's'. Unclosed quotation mark after the character string ',22)'."
问题是什么??
最佳答案
String query = "insert into try (data,sno) values (@data,22)";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@data", TextBox1.text);
cmd.ExecuteNonQuery();
通过这种方式,您无需担心文本中存在单引号,最重要的是,您可以避免 SqlInjection Attacks
关于c# - 通过文本框在 sql server 2005 中存储数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11054477/