小编典典

在C#中安全地生成SQL查询

sql

在C#中生成SQL查询的最安全的方法是什么,包括清除用户输入以防止注入?我正在寻找使用不需要外部库的简单解决方案。


阅读 172

收藏
2021-03-23

共1个答案

小编典典

使用Sql参数:

http://msdn.microsoft.com/zh-
cn/library/system.data.sqlclient.sqlparameter(v=vs.80).aspx

这是C#中的示例

SqlCommand tCommand = new SqlCommand();
tCommand.Connection = new SqlConnection("YourConnectionString");
tCommand.CommandText = "UPDATE players SET name = @name, score = @score, active = @active WHERE jerseyNum = @jerseyNum";

tCommand.Parameters.Add(new SqlParameter("@name", System.Data.SqlDbType.VarChar).Value = "Smith, Steve");
tCommand.Parameters.Add(new SqlParameter("@score", System.Data.SqlDbType.Int).Value = "42");
tCommand.Parameters.Add(new SqlParameter("@active", System.Data.SqlDbType.Bit).Value = true);
tCommand.Parameters.Add(new SqlParameter("@jerseyNum", System.Data.SqlDbType.Int).Value = "99");

tCommand.ExecuteNonQuery();
2021-03-23