Если у меня есть запрос, который я ТОЛЬКО хочу выполнить, и вам не нужно заполнять какие-либо данные в таблице, то для этого необходимо иметь адаптер данных?Всегда нужен адаптер данных?
1
A
ответ
1
Нет необходимости использовать SqlDataAdapter. Это действительно мост между DataSet и Sql Server.
Вместо этого вы можете использовать SqlCommand - ExecuteNonQuery.
Вы можете использовать ExecuteNonQuery для выполнения каталога операций (для например, запрашивая структуру базы данных или создание базы данных объектов, таких как таблицы), или изменить данные в базе данных без с использованием DataSet с помощью выполняя инструкции UPDATE, INSERT или DELETE. Хотя ExecuteNonQuery не возвращает строк, любые выходные параметры или значения возвращаются к параметрам, заполняются данными.
using (SqlConnection conn = new SqlConnection(
"your connection string"))
{
using (SqlCommand command = new SqlCommand("your sql", conn)
{
conn.Open();
command.ExecuteNonQuery();
}
}
'SqlCommand' идеально подходит для' INSERT', 'UPDATE' и' заявления delete', а также 'ALTER',' DROP' и 'CREATE' (там больше как вызов хранимая proc или получение считывателя данных и т. д.). Метод, который вы ищете, называется 'ExecuteNonQuery'. – Igor
Да, потому что я планирую использовать запросы INSERT и DELETE. Зачем SQL писать ExecuteNonQuery, если запрос действительно будет выполнен? –
Из документации: [SqlCommand.ExecuteNonQuery] (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery (v = vs.110) .aspx) - Выполняет Инструкция Transact-SQL к соединению и возвращает количество затронутых строк. ' – Igor