如何将项目添加到数据库中

本文关键字:数据库 添加 项目 | 更新日期: 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();
}