2016-07-25 2 views
1

Если у меня есть запрос, который я ТОЛЬКО хочу выполнить, и вам не нужно заполнять какие-либо данные в таблице, то для этого необходимо иметь адаптер данных?Всегда нужен адаптер данных?

+2

'SqlCommand' идеально подходит для' INSERT', 'UPDATE' и' заявления delete', а также 'ALTER',' DROP' и 'CREATE' (там больше как вызов хранимая proc или получение считывателя данных и т. д.). Метод, который вы ищете, называется 'ExecuteNonQuery'. – Igor

+0

Да, потому что я планирую использовать запросы INSERT и DELETE. Зачем SQL писать ExecuteNonQuery, если запрос действительно будет выполнен? –

+2

Из документации: [SqlCommand.ExecuteNonQuery] (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery (v = vs.110) .aspx) - Выполняет Инструкция Transact-SQL к соединению и возвращает количество затронутых строк. ' – Igor

ответ

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(); 
     } 
} 
Смежные вопросы