ASP.NET C# SQL参数化

2024-12-24 10:57:09
推荐回答(5个)
回答1:

代码没有,倒是可以给你三个建议:
1、使用存储过程,这样就参数化了,可以防止sql语句的非法注入
2、写一个函数,把插入语句的sql中的 ' 字符替换为空:
public static string Filtered(string str)
{
str = str.Replace("'", "");
str = str.Replace("@", "");
str = str.Replace("=", "");
str = str.Replace("!", "");
str = str.Replace(" ", "");
str = str.Replace(".", "");
str = str.Replace("[", "");
str = str.Replace("\\", "");
return str;
}
3.登录的时候将文本框内的内容加密输入数据库。。。

回答2:

.net ?? sql参数化 百度一下 很简单 这种要养成习惯

我怎么感觉 楼下的追问 应该是追问给我的呢....

算了 免费奉送一段

public JS_PlanCash getOneByUserID(int id,string year)
{
SqlParameter[] parms = new SqlParameter[]{
new SqlParameter("@JS_Year",SqlDbType.VarChar),
new SqlParameter("@JS_CreateID" , SqlDbType.Int)
};
parms[0].Value = year;
parms[1].Value = id;
return djp.getOne(" and JS_Year = @JS_Year and JS_CreateID = @JS_CreateID", parms);
}

回答3:

代码没有,倒是可以给你两个建议:
1、使用存储过程,这样就参数化了,可以防止sql语句的非法注入
2、写一个函数,把插入语句的sql中的 ' 字符替换为空:
public static string Filtered(string str)
{
str = str.Replace("'", "");
str = str.Replace("@", "");
str = str.Replace("=", "");
str = str.Replace("!", "");
str = str.Replace(" ", "");
str = str.Replace(".", "");
str = str.Replace("[", "");
str = str.Replace("\\", "");
return str;
}

回答4:

我的空间博客有文章

http://hi.baidu.com/hunles/blog/item/7bfd1f8a223de7779f2fb497.html

不懂再问我

回答5:

public static string hacksql(string str)
{
str = str.Replace("'", "");
str = str.Replace("@", "");
str = str.Replace("=", "");
str = str.Replace("!", "");
str = str.Replace(" ", "");
str = str.Replace(".", "");
str = str.Replace("[", "");
str = str.Replace("\\", "");
return str;
}
使用的时候
string name=hacksql(txtuid.Text.Tostring().Trim());