2016-08-09 5 views
0

Я работаю над Visual Studio 2013.SqlCommand INSERT запрос не вставляет данные в базу данных

В приведенном ниже коде MessageBox.Show("Connected to database") показан правильно, но SQL-запрос не вставляет данные в таблицу базы данных.

Когда я вставляю данные вручную, он вставляет без проблем. Но, к сожалению, данные не вставляются в команду button_click.

private void DataAdd_Load(object sender, EventArgs e) 
{ 
    try 
    { 
     conn = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=Pathname;Integrated Security=True;Connect Timeout=30"); 
     conn.Open(); 
     MessageBox.Show("Connected to database"); 
     cmd = new SqlCommand("INSERT INTO datains (name, dob, gender, occupation, height, weight, relation, polexpo) values('abc', '22-Aug-2001', 'Male', 'qwe2', '23', '431', 'qw23e', 'asqwed');", conn); 
    } 
    catch (Exception e1) 
    { 
     MessageBox.Show("Connection failed"); 
    } 
} 

Что я сделал неправильно или что-то пропустил?

+0

Является DataAdd_Loa d называется? Вы получаете какое-либо исключение ?, вы не закрыли соединение, которое вам нужно. – Adil

+1

Возможный дубликат запроса [SqlCommand INSERT INTO не выполняется] (http://stackoverflow.com/questions/17569051/sqlcommand-insert-into-query-does-not-execute) –

+0

@Adil Это была моя глупая ошибка не написав cmd.ExecuteNonquery, задаваясь вопросом часами и, наконец, переполнение стека помогло !. Спасибо за помощь! – amish

ответ

5

Вы забыли выполнить запрос:

cmd.ExecuteNonQuery(); 

Это также лучше, чтобы закрыть соединение после того, как работа выполнена:

conn.Close(); 
+0

Спасибо большое человек .. Мой плохой .. Я не мог понять, что из – amish

+0

вам больше всего нравится @amish – Mostafiz

1

Вы должны запустить метод ExecuteNonQuery() из ваш cmd, чтобы он работал, но также рекомендуется объединить оба соединения и команду в оператор using, чтобы они были удалены (соединение также должно быть явно закрыто)

Смежные вопросы