如何添加项目到数据库?
我试图使用C#将项目添加到我的数据库。 我有2个表的数据库:如何添加项目到数据库?
“项目部分”
“项目表”,该表中有一个名为“项目名称”
但即时得到这个错误列:
There was an error parsing the query. [ Token line number = 1,Token line offset = 21,Token in error = Table ]
这里是我使用的代码。
private void button1_Click(object sender, EventArgs e)
{
sqlCEC.Open();
//Project_List.Items.Add(new_project_name.Text.ToString());
SqlCeCommand sqlCEcommand = new SqlCeCommand("INSERT INTO Project Table(Project Name) VALUES(@Project Name)", sqlCEC);
sqlCEcommand.Parameters.AddWithValue("@Project Name", new_project_name.Text);
sqlCEcommand.ExecuteNonQuery();
sqlCEC.Close();
}
怎么样?
private void button1_Click(object sender, EventArgs e)
{
sqlCEC.Open();
SqlCeCommand sqlCEcommand = new SqlCeCommand("INSERT INTO [Project Table]([Project Name]) VALUES([@Project Name])", sqlCEC);
sqlCEcommand.Parameters.AddWithValue("@Project Name", new_project_name.Text);
sqlCEcommand.ExecuteNonQuery();
sqlCEC.Close();
}
因为你的数据库对象包含空格,需要用[]
我卑微的建议是将它们封闭,从未使用空格或其他特殊字符在表或列名。
谢谢。认为我得到了它的工作。现在它无法找到正确的列名,但我将开始重命名表和列,并且没有特殊字符。 :) 谢谢。 – 2013-02-20 15:29:48
欢迎你':D' – 2013-02-20 15:30:34
你需要附上具有与支架空间的表和字段。
SqlCeCommand sqlCEcommand = new SqlCeCommand("INSERT INTO [Project Table] ([Project Name]) VALUES (@ProjectName)", sqlCEC);
而且,不包括在参数变量的任何空间,尝试改变它只是@ProjectName
:在他们
sqlCEcommand.Parameters.AddWithValue("@ProjectName", new_project_name.Text);
表名和列名与空间通常都被包裹在[
和]
。此外,参数不能有空格的
INSERT INTO [Project Table]([Project Name]) VALUES(@ProjectName)
和
sqlCEcommand.Parameters.AddWithValue("@ProjectName", new_project_name.Text);
当一个数据库对象包含它需要用方括号括这个名字空间。
也不要使用空格来命名您的参数。
private void button1_Click(object sender, EventArgs e)
{
sqlCEC.Open();
SqlCeCommand sqlCEcommand = new SqlCeCommand("INSERT INTO [Project Table] " +
"([Project Name]) VALUES(@ProjectName)", sqlCEC);
sqlCEcommand.Parameters.AddWithValue("@ProjectName", new_project_name.Text);
sqlCEcommand.ExecuteNonQuery();
sqlCEC.Close();
}
看看这个问题,它的答案:[http://stackoverflow.com/questions/4436440/pros-and-cons-of-table-name-having-spaces](http://stackoverflow.com /问题/ 4436440 /优点和利弊-的表名,有-空格)。 – 2013-02-20 15:11:35
我不认为这些空格在表名中是有效的。我只是试图创建一个测试CE数据库,并且当我使用了您提供的表名和列名称时,它抱怨说。他们只是个例子吗? – cameronjchurch 2013-02-20 15:35:06