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();
}
异常细节:
列名或提供的值数与表不匹配 定义
答案 0 :(得分:3)
例外是告诉你出了什么问题:
你的表没有两列(我的猜测:它有更多)。
因此,如果您只有一个带有自动增量的ID元素,您可以将命令更改为
da.InsertCommand = new SqlCommand("INSERT INTO tblContacts (firstname,lastname) VALUES (@FIRSTNAME,@LASTNAME)", cs);
答案 1 :(得分:3)
问题是您的表格中可能有两列以上,但您错过了
da.InsertCommand = new SqlCommand("INSERT INTO tblContacts(FIRSTNAME,LASTNAME) VALUES (@FIRSTNAME,@LASTNAME)", cs);
答案 2 :(得分:2)
你应该像这样使用插入查询
INSERT INTO tblContacts(first_name_column_name, last_name_column_name) VALUES (@FIRSTNAME,@LASTNAME)
这个错误引发了,因为您的表中有超过2列且数据库无法知道您尝试填充哪些列
答案 3 :(得分:0)
您指定的列可能多于两列。 使用如下的查询:
插入INTO tblContacts(名字,姓氏)VALUES(@ firstname,@ lastname)