Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法插入带有&;的字符串;从asp.net代码导入数据库_Asp.net_Database_String_C# 4.0 - Fatal编程技术网

无法插入带有&;的字符串;从asp.net代码导入数据库

无法插入带有&;的字符串;从asp.net代码导入数据库,asp.net,database,string,c#-4.0,Asp.net,Database,String,C# 4.0,以下是我的代码片段: cmd.CommandText = "INSERT_ACS_STUDIES_DATA"; cmd.Parameters.AddWithValue("@mrn", mrn); cmd.Parameters.AddWithValue("@log_id", crid); cmd.Parameters.AddWithValue("@panel_id", panel_id); cmd.Parameters.AddWithValue("@PROC_NAME", procName);

以下是我的代码片段:

cmd.CommandText = "INSERT_ACS_STUDIES_DATA";

cmd.Parameters.AddWithValue("@mrn", mrn);
cmd.Parameters.AddWithValue("@log_id", crid);
cmd.Parameters.AddWithValue("@panel_id", panel_id);
cmd.Parameters.AddWithValue("@PROC_NAME", procName);
当VARABLE@PROC_名称中有一个带&的值时,它会失败,例如a&a
插入包含这些字符的字符串的正确语法是什么?

之所以如此,是因为在使用C参数时,需要对所有特殊字符进行编码。C#将拒绝未编码的特殊字符,以帮助防止SQL注入攻击。您可以使用
HttpServerUtility.HtmlEncode(字符串)
对其进行编码。

在发送字符串之前对其进行编码。这是您的答案