Jim*_*Jim 4 sql asp.net apostrophe
我有一个网络的形式,我希望能够接受单引号,如在名字奥利一个名称字段,而是试图这个纪录推到SQL 2005服务器时,我得到一个错误.我的问题不是这个.当我尝试使用此语句将记录插入数据库时...
Dim acctName As String = Replace(txtName.Text, "'", "''")
Run Code Online (Sandbox Code Playgroud)
我在数据库中获得O''Leary而不是O'Leary.思想SQL应该把这些双单撇号视为一个撇号???
你最好使用参数化查询.这些将自动处理单引号,并更好地保护您免受SQL注入.
插入双单引号(我说对了吗?)是一种逃避数据的方法.它应该工作,但它不是最佳实践.
请参阅此文章以获得更全面的答案:
http://msdn.microsoft.com/en-us/library/ff648339.aspx
我建议的是第3步.
编辑 - 我应该更好地阅读这个问题
如果您已经在使用参数化查询或存储过程,并且您将acctName的值设置为参数的值,那么您不需要自己转义引号.这是自动处理的.
它还由几个工具处理,包括Mirosoft模式和实践数据库库.这有几个命令,你可以传入一个语句和用作参数值的对象数组 - 也可以处理转义.
如果是这种情况之一,您可以完全消除替换值的代码行.
| 归档时间: |
|
| 查看次数: |
8940 次 |
| 最近记录: |