SqlException был необработан - PullRequest
0 голосов
/ 23 июня 2011

Я получаю похожую ошибку на скриншоте ниже.Мой вопроскогда я пытаюсь записать в таблицу эти данные внутри текстовых полей, это вызывает у меня ошибку. Где я ошибаюсь?Кстати, я использую SQL Server Express 2008. enter image description here

private void btnprnsave_Click(object sender, EventArgs e)
    {          
        SqlConnection conn = DBConfigs.DataCon();
        SqlCommand record = new SqlCommand ("insert into dbo.PersonalInformationTable (PersonalName,PersonalSurname,PersonalEGN) values ("+txtPrnName.Text+","+txtPrnSurName.Text+","+txtPrnEgn.Text+")", conn);
        record.ExecuteNonQuery();
        conn.Close();
   }

Ответы [ 3 ]

1 голос
/ 23 июня 2011

Сложно сказать, но похоже, что вам нужно экранировать значения в операторе вставки.

"insert into dbo.PersonalInformationTable (PersonalName,PersonalSurname,PersonalEGN) values ('"+txtPrnName.Text+"','"+txtPrnSurName.Text+"','"+txtPrnEgn.Text+"')", conn);
1 голос
/ 23 июня 2011
  1. Правильно отформатируйте ваш SQL (одинарные кавычки вокруг значений текста или используйте параметры)

  2. Chekc, если файл базы данных существует.

  3. Не присоединяйте файл базы данных одновременно с SQL Server Management Studio Express, поскольку вы не можете прикрепить один и тот же файл базы данных дважды к двум различным экземплярам SQL Server (Express).

  4. Всегда убедитесь, что вы закрыли соединение с базой данных.Это должно быть достигнуто с помощью оператора using, поскольку независимо от того, как оставлен этот блок кода (исключение или обычный программный поток), будет вызван метод Dispose ().Это всегда будет закрывать соединение, и вы избежали утечки соединения.

0 голосов
/ 23 июня 2011

Вам нужно поместить одинарные кавычки вокруг текстовых значений в вашем запросе. Даже лучше; использовать параметры ...
Исключение, которое вы получаете, может быть вызвано чем-то другим, но сам запрос неверен, как указано выше ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...