我通过网页将数据插入到.mdf数据库中。当我插入包含撇号“'”的单词时,会导致异常。我尝试了逃生,但这会插入整个“\”。我不想通过visual studio直接将这些插入到数据库表中,因为我也需要插入Date.Now时间/日期(通过C#)。
请告诉我如何插入“'”和其他类似字符。提前谢谢。
答案 0 :(得分:3)
这是因为您以永远不应该使用的方式插入数据。永远不要使用字符串连接编写SQL命令字符串。请改用参数。即:
而不是这样做:
var cmd = new SqlCommand("insert into myTable (FirstName, LastName) values ('" +
txtFirstName.Text + "','" +
txtLastName.Text + "')", connection);
这样做:
var cmd = new SqlCommand(@"insert into myTable
(FirstName, LastName)
values (@fName, @lName)", connection);
cmd.Parameters.AddWithValue("@fName", txtFirstName.Text);
cmd.Parameters.AddWithValue("@lName", txtLastName.Text);
答案 1 :(得分:0)
你可以使用双撇号''
来转义它,但你不应该在SqlCommand
文本中使用它。始终使用SqlCommand.Parameters
添加参数以避免sql注入的可能性。