У меня есть соединение с базой данных, где я вставляю данные в таблицу, имеющую 2 столбца, то есть id
, first_name
, last_name
. Ниже приводится код:Внести запись в таблицу с ошибкой каждый раз
private void Insert_Click(object sender, EventArgs e)
{
try
{
String query = "INSERT INTO data_table (first_name,last_name) VALUES (@f_name,@l_name)";
using (SqlConnection connection1 = new SqlConnection(
Properties.Settings.Default.DatabaseConnection))
using (SqlCommand insertCommand = new SqlCommand(query, connection1))
{
//a shorter syntax to adding parameters
// insertCommand.Parameters.Add("@id", SqlDbType.Int).Value = 1;
insertCommand.Parameters.Add("@f_name", SqlDbType.NChar).Value = "JAVED";
insertCommand.Parameters.Add("@l_name", SqlDbType.NChar).Value = "GHAMJN";
//make sure you open and close(after executing) the connection
connection1.Open();
insertCommand.ExecuteNonQuery();
connection1.Close();
MessageBox.Show("Record inserted. Please check your table data. :)");
}
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
Ниже T-SQL скрипт:
CREATE TABLE [dbo].[data_table] (
[Id] INT NOT NULL IDENTITY,
[first_name] NCHAR (10) NULL,
[last_name] NCHAR (10) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
Проблема создается по идентификатору: Я поставил его автоматическое приращение. Когда я нажимаю кнопку вставить MessageBox выскакивает говоря:
Не удается вставить значение NULL в столбец 'Id', таблица «C: \ Users ....... \ Database1.MDF.dbo.data_table; столбец не позволяет null.INSERT терпит неудачу
попытаться создать таблицу с 'с [Id] INT NOT NULL IDENTITY (1,1)' – Max
STILL одна и та же проблема :-( – Khan
Вы смотрите на неправильную базу данных или таблицу. –