用“'”插入数据的asp.net会导致异常

时间:2015-07-23 23:06:28

标签: c# asp.net sql-server-2008

我通过网页将数据插入到.mdf数据库中。当我插入包含撇号“'”的单词时,会导致异常。我尝试了逃生,但这会插入整个“\”。我不想通过visual studio直接将这些插入到数据库表中,因为我也需要插入Date.Now时间/日期(通过C#)。

请告诉我如何插入“'”和其他类似字符。提前谢谢。

2 个答案:

答案 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注入的可能性。