Запрос SqlCommand INSERT не вставляет данные в базу данных

Я работаю над Visual Studio 2013.

В приведенном ниже коде 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");
    }
}

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


person amish    schedule 09.08.2016    source источник
comment
Вызывается DataAdd_Load? Вы получаете какие-либо исключения? Вы не закрыли соединение, которое должны.   -  person Adil    schedule 09.08.2016
comment
Возможный дубликат запроса SqlCommand INSERT INTO не выполняется   -  person Mong Zhu    schedule 09.08.2016
comment
@Adil, это была моя глупая ошибка, что я не написал cmd.ExecuteNonquery , часами размышлял, и, наконец, помогло переполнение стека !. Спасибо за помощь!   -  person amish    schedule 09.08.2016


Ответы (2)


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

cmd.ExecuteNonQuery();

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

conn.Close();
person Mostafiz    schedule 09.08.2016

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

person Community    schedule 09.08.2016