我知道非参数化查询因为 SQL 注入而不被看好。然而,我的应用程序有很多容易受到 SQL 注入的查询。我只是似乎无法理解如何使用 SqlDataReader 做到这一点。我能够使用 ExecuteNonQuery,但不能使用 SQLDataReader。
有人可以给我一些提示或示例来解决这个问题吗?查询正在执行并返回确切的结果,我只想尽可能地使其安全....
代码:
有人可以给我一些提示或示例来解决这个问题吗?查询正在执行并返回确切的结果,我只想尽可能地使其安全....
代码:
string myQuery = "Select [shoeSize] AS 'Shoe Size', [shoeBrand] AS 'Shoe Brand' FROM [myTable] "
+ "WHERE [customerName] = '" + customer + "' AND " + "[customerPin] = '" + customerID + "'";
sqlCmd = new SqlCommand(myQuery, conn);
sqlCmd.Connection.Open();
SqlDataReader rdr2 = sqlCmd.ExecuteReader();
if (rdr2.HasRows)
{
rdr2.Read();
shoeSize= rdr2["Shoe Size"].ToString();
shoeBrand= rdr2["Shoe Brand"].ToString();
}
conn.close();