哥们门帮帮忙啊插入数据出错了
我insert into 一条记录我获取数据的时候进行了过滤单引号,并控制长度在7500内,数据库字段是ntext 8000字符的
结果是我用编辑器插入记录的时候如果插入文本类型的就没事 只要插入一个拷贝过来的网页图片或者什么的时候就出错,,提示什么附近有语法错误,,,哥们门帮帮忙啊 除了过滤单引号还要过滤什么啊
还有个问题就是怎么过滤双引号啊,我公司让把双引号也过滤去
我 *.replace("""","") 或*.replace(""","") 都说语法错误
哥们帮帮忙啊 --------------------编程问答-------------------- .Replace("\"","") --------------------编程问答-------------------- replace("\"","") --------------------编程问答-------------------- kun --------------------编程问答-------------------- http://www.cnblogs.com/dsclub/archive/2006/05/06/392337.html
用这个编辑器不会发生你的问题 --------------------编程问答-------------------- --------------------编程问答-------------------- 写Insert 语句 不要 用 字符串 拼接
stirng strInsert = "Insert Into yourTable(tName,tCast), values(@tName,@tCast)";
使用参数模式.这样 --------------------编程问答-------------------- UP! --------------------编程问答-------------------- 最好用正则过滤 --------------------编程问答-------------------- 孙子兵法说的不错哦~~ --------------------编程问答-------------------- 使用参数啊,如果不知道问题出在哪就将Sql 语句response出来分析. --------------------编程问答-------------------- ///SQL注入过滤
/// </summary>
/// <param name="strInText">要过滤的字符串 </param>
/// <param name="strWord">要过滤的字符 </param>
/// <returns>替换所有的危险字符</returns>
public static string SqlFilter(string strInText, string strWord)
{
if ((strInText == "") || (strInText == null))
return "";
if ((strWord == "") || (strWord == null))
strWord = "'|and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join";
foreach (string strSubword in strWord.Split('|'))
{
strInText = strInText.Replace(strSubword, "");
}
strInText = strInText.Replace("<", "<");
strInText = strInText.Replace(">", ">");
return strInText;
}
过滤方法 --------------------编程问答-------------------- 双引号:
*.Replace( "\ " ", " ")
单引号:
*.Replace( "‘", " ")
图片有双引号,会导致sql语句错误;
最好用传参的存储过程或参数语句方式
--------------------编程问答-------------------- 二楼方法 应该可以
补充:.NET技术 , ASP.NET