如何将项目添加到数据库中
本文关键字:数据库 添加 项目 | 更新日期: 2023-09-27 18:00:13
我正在尝试使用C#将项目添加到我的数据库中。我有一个有2个表的数据库:
"项目部件"
"项目表",在该表中有一列名为"项目名称"
但是我得到了这个错误:
分析查询时出错。[令牌行号=1,令牌行偏移=21,错误令牌=表]
这是我使用的代码。
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();
}
因为数据库对象包含空格,所以需要用[]
将它们括起来
我的建议是,永远不要在表或列名中使用空格或其他特殊字符。
您需要将带有空格的表和字段用括号括起来。
SqlCeCommand SqlCeCommand=新的SqlCeCommand("INSERT INTO[项目表]([项目名称])VALUES(@项目名称)",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();
}