c# - 查看查询字符串是否传递给'string SqlCommand.CommandText'
问题描述
我有这个包含两个方法的代码。
第一种方法是for(插入、更新和删除),第二种方法是从数据库中读取数据。
//Method to insert, update and delete data from database
public async Task ExcuteCommande(string stored_procedure, SqlParameter[] param)
{
using (SqlCommand sqlcmd = new SqlCommand())
{
if (string.IsNullOrEmpty(stored_procedure))
{
return;
}
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.CommandText = stored_procedure;
sqlcmd.Connection = sqlconnection;
if (param != null)
{
sqlcmd.Parameters.AddRange(param);
}
await sqlcmd.ExecuteNonQueryAsync().ConfigureAwait(false);
}
}
//Method to read data from database
public async Task<DataTable> SelectData(string stored_procedure, SqlParameter[] param)
{
using (SqlCommand sqlcmd = new SqlCommand())
{
if (string.IsNullOrEmpty(stored_procedure))
{
return null;
}
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.CommandText = stored_procedure;
sqlcmd.Connection = sqlconnection;
if (param != null)
{
sqlcmd.Parameters.AddRange(param);
}
using (SqlDataAdapter da = new SqlDataAdapter(sqlcmd))
{
using (DataTable dt = new DataTable())
{
await Task.Run(() => da.Fill(dt)).ConfigureAwait(false);
return dt;
}
}
}
}
我在此代码下收到警告和绿线
`sqlcmd.CommandText = stored_procedure;`
与此消息:
警告 CA2100 检查传递给“ExcuteCommande”中“字符串 SqlCommand.CommandText”的查询字符串是否接受任何用户输入。
处理此警告的最佳方法是什么?
解决方案
推荐阅读
- html - 我的 CSS 没有改变,为什么?
- python - 查找两个列表中的共同元素
- select - 编译错误:UniData LSELECT
- android - Firebase 搜索不适用于 FirebaseRecylcerOptions
- azure-data-lake - 将 Azure 数据仓库连接到数据湖
- javascript - 执行函数后更改随机生成的单词
- c# - 从 Datagrid C# 将 GUID 值设置为选定值
- angular - 如何在服务器端渲染(通用)中以角度使用 xi18n(AOT)
- centos - 为什么让phpize工作如此困难......?
- php - 使用 Like 运算符进行搜索,使用 php 在 url 中显示输入的文本