Tou*_*han 1 c# sql-server exception winforms
我面临的问题是.当我在文本字段中插入单引号时.在插入时,它会在该特定字段附近提供不正确的语法.为什么?单引号对sqlserver有特殊意义吗?
如果用户输入的内容如果没有,那么,或者有时错误输入单引号然后它会给出异常.有没有sol来处理这个?如果单引号与sqlserver有问题那么如何处理呢?
使用SqlParameter而不是字符串连接
这种表达式是你可以在你的代码中做的最糟糕的事情,因为首先你会遇到数据类型转换的问题,其次是Sql Injection的大门是黑客的操作
string someQuery = "Select * from SomeTbl Where SomeTbl.SomeColumn = '" + tbSomeBox.Text+ "'" ;
Run Code Online (Sandbox Code Playgroud)
而不只是使用这个
string someQuery = "Select * from SomeTbl Where SomeTbl.SomeColumn = @param";
SqlCommand someCommand = new SqlCommand(someQuery, conn);
someCommand.AddParams("@param",tbSomeBox.Text);
...
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
SQL Server字符串(通常)用单引号括起来,因此如果在INSERT之前没有对它进行转义,则字符串中的单引号将导致错误.
单引号只需要加倍,因此字符串Will''s World将导致Will's World它进入数据.
| 归档时间: |
|
| 查看次数: |
4586 次 |
| 最近记录: |