2013-11-13 3 views
0
private void button1_Click(object sender, EventArgs e) 
{ 
    SqlConnection cs = new SqlConnection("Data Source=SALE7\\SALE7;Initial Catalog=YOUTUBE;Integrated Security=True"); 
    SqlDataAdapter da = new SqlDataAdapter(); 
    da.InsertCommand = new SqlCommand("INSERT INTO tblContacts VALUES (@FIRSTNAME,@LASTNAME)", cs); 
    da.InsertCommand.Parameters.Add("@FIRSTNAME", SqlDbType.VarChar).Value = textBox1.Text; 
    da.InsertCommand.Parameters.Add("@LASTNAME", SqlDbType.VarChar).Value = textBox2.Text; 

    cs.Open(); 
    da.InsertCommand.ExecuteNonQuery(); // Error occurs here 
    cs.Close(); 
} 

Деталь исключения:Ошибка при попытке вставить данные в базу данных SQL Server с помощью C# приложения

Имя столбца или количество предоставленных значений не соответствует таблице определения.

+3

какова структура таблицы и количество не пустых столбцов в таблице. – MaheshMajeti

+1

Сколько столбцов имеет таблица 'tblContacts'? Если у него больше 2, вы должны указать, в какие столбцы вы хотите вставить ваши значения, например: 'INSERT INTO tblContacts (column_name1, column_name2) VALUES (@ FIRSTNAME, @ LASTNAME)' –

+0

3 столбца имеют нулевое значение. – user934110

ответ

3

Проблема в том, что у вас может быть более двух столбцов в таблице, но у вас есть mi ssed для включения

da.InsertCommand = new SqlCommand("INSERT INTO tblContacts(FIRSTNAME,LASTNAME) VALUES (@FIRSTNAME,@LASTNAME)", cs); 
+0

Большое вам спасибо. – user934110

+1

Добро пожаловать. – Govan

3

Исключение говорит вам, что это неправильно:

Ваша таблица не имеет два столбца (мое предположение: она имеет более).

Так что, если вы просто иметь идентификационный элемент с Autoincrement, вы можете изменить свое командование

da.InsertCommand = new SqlCommand("INSERT INTO tblContacts (firstname,lastname) VALUES (@FIRSTNAME,@LASTNAME)", cs); 
+0

Спасибо. Это сработало. – user934110

2

вы должны использовать вставки запроса, как этот

INSERT INTO tblContacts(first_name_column_name, last_name_column_name) VALUES (@FIRSTNAME,@LASTNAME) 

эту ошибку поднятым, потому что у вас есть больше чем 2 столбца в вашей таблице, и база данных не могла знать, какие столбцы вы пытаетесь заполнить

+0

Благодарим за помощь. – user934110

0

У вас может быть более двух столбцов, указанных вами. использование запросов, как:

Вставьте в tblContacts (Firstname, фамилия) VALUES (@ ПгвЬЫате, @) фамилия

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