У меня есть этот код, который содержит два метода.
Первый метод предназначен для (вставки, обновления и удаления), а второй - для чтения данных из базы данных.
//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 Проверьте, передана ли строка запроса в 'string SqlCommand.CommandText' в 'ExcuteCommande', принимает любой пользовательский ввод.
Как лучше всего обработать это предупреждение?