无法将数据插入SQL Server CE数据库

时间:2013-01-06 12:15:43

标签: c#-4.0 sql-server-ce

我是C#的新手,正在尝试尝试将内容插入SQL Server CE数据库。我不明白为什么这段代码不起作用。我正在接受

  

System.Data.SqlServerCE.SqlCeException

程序运行时,

错误指向com1.ExecuteNonQuery();行。

我正在附加我用于插入表格的代码。

//Connecting to SQL Server
SqlCeConnection conn1 = new SqlCeConnection();
conn1.ConnectionString = connection; //connection is a string variable which has the connection details
conn1.Open();

SqlCeCommand com1 = new SqlCeCommand();
com1.Connection = conn1;
com1.CommandType = CommandType.Text;
com1.CommandText = "INSERT into data(pname, budget, dcommision, advance, phone, cdetails, mail) values(@pname , @budget, @dcommision, @advance, @phone, @cdetails, @mail)";

com1.Parameters.AddWithValue("@pname", textBox8.Text.Trim());
com1.Parameters.AddWithValue("@budget", budget);
com1.Parameters.AddWithValue("@dcommision", textBox7.Text.Trim());
com1.Parameters.AddWithValue("@advance", advance);
com1.Parameters.AddWithValue("@phone", phone);
com1.Parameters.AddWithValue("@cdetails", richTextBox1.Text.Trim());
com1.Parameters.AddWithValue("@mail", textBox3.Text.Trim());

com1.ExecuteNonQuery();     //Executing the SQL query

com1.Dispose();     //Closing SQL Server connection
conn1.Close();

我的查询有问题吗?我真的是一个新手,所以一些帮助将非常感激。感谢

1 个答案:

答案 0 :(得分:2)

您的表格data也有列cname,您未在INSERT列表中添加,第i列标记为NOT NULL。将列也包含在INSERT列表中,或在DB中为此列提供DEFAULT值。