StrSql = "select * from [WIN_ANNOUNCEMENT] where [WIN_ANN_TITLE]=@AnnTitle and [WIN_ANN_ID]<>@AnnId";
Anntitle = new SqlParameter("@AnnTitle", SqlDbType.NVarChar, 50);
Anntitle.Value = Convert.ToString(anntitle);
Annid = new SqlParameter("@AnnId", SqlDbType.NVarChar, 36);
Annid.Value = Convert.ToString(annid);
我想问一下,这样写安不安全,有没有SQL注入的可能,怎样设置这些参数使其不为空
Anntitle = new SqlParameter("@AnnTitle", SqlDbType.NVarChar, 50);
Anntitle.Value = Convert.ToString(anntitle);
Annid = new SqlParameter("@AnnId", SqlDbType.NVarChar, 36);
Annid.Value = Convert.ToString(annid);
我想问一下,这样写安不安全,有没有SQL注入的可能,怎样设置这些参数使其不为空
因为你用的是参数
理论上不存在 SQL注入
现在一般都用存储过程和你上面的那种方法来防止SQL注入
需要你在前台控制以下了
用.NET自带验证控件
like '%"@str"%'
like '%""@str""%'
1 验证类型,是数字要验证,是字符要加 name=''分号
2 变量里不能有'