我有以下代码建立在C#(SQL注入攻击)动态查询
public DataSet GetProject(string projectID)
{
DataSet dataTable = new DataSet();
DataAccess dataAccess = new DataAccess();
OracleCommand commandOb = new OracleCommand();
strQuery.Append("select projectName, managerName");
strQuery.Append("from project ");
strQuery.Append("where projectID = '" + projectID + "'");
cmd.CommandText = strQuery.ToString();
dataTable = dataAccess.ExecuteDataAdapter(commandOb);
return dataTable;
}
这是建立查询并执行它的一个好方法是什么?这会对SQL注入攻击产生危害吗?
是否有建议的方法来动态构建查询。任何帮助,将不胜感激。
从动态'走就走querys'尝试使用参数然后使用'string.Format(从ProjectID = {0}的项目中选择projectName,managerName“,projectID);' – MethodMan
使用参数化查询或更好的方式,调用a存储过程... – user2480596
'+ 1' StoredProcedure不能出错那 – MethodMan