C# SQL Server CE查询错误(未处理异常)。从c执行#

C# SQL Server CE查询错误(未处理异常)。从c执行#,c#,sql-server-ce,C#,Sql Server Ce,我用C语言为SQL Server CE数据库(一个.sdf文件)创建了这个连接字符串。但我得到一个错误,如下所示: 分析查询时出错。[令牌行编号=1,令牌行偏移量=77,令牌出错=结束] 从函数执行: string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));"; End是您不

我用C语言为SQL Server CE数据库(一个
.sdf
文件)创建了这个连接字符串。但我得到一个错误,如下所示:

分析查询时出错。[令牌行编号=1,令牌行偏移量=77,令牌出错=结束]

从函数执行:

string query = "Create table " + name + 
               " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

End
是您不能在自己的表中使用的关键字-请使用类似于
EndDate
的内容

另外:我假设
Start
End
是日期-我强烈建议您使用
DATETIME
instad of
NVARCHAR(30)
来存储这些日期

因此,我将
createtbale
语句更改为如下内容:

public void create_proj_table(string name)
{
    string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

    //open connection
    if (this.OpenConnection() == true)
    {
        //create command and assign the query and connection from the constructor
        SqlCeCommand cmd = new SqlCeCommand(query, connection);

        //Execute command
        cmd.ExecuteNonQuery();

        //close connection
        this.CloseConnection();
    }
}
string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

然后,您的代码应该可以正常工作。

End
是一个您不能在自己的表中使用的关键字-请使用类似于
EndDate
的内容

另外:我假设
Start
End
是日期-我强烈建议您使用
DATETIME
instad of
NVARCHAR(30)
来存储这些日期

因此,我将
createtbale
语句更改为如下内容:

public void create_proj_table(string name)
{
    string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

    //open connection
    if (this.OpenConnection() == true)
    {
        //create command and assign the query and connection from the constructor
        SqlCeCommand cmd = new SqlCeCommand(query, connection);

        //Execute command
        cmd.ExecuteNonQuery();

        //close connection
        this.CloseConnection();
    }
}
string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

然后,您的代码应该可以正常工作。

单词END是SQL CE中的保留关键字。如果你需要使用它,你应该把它放在方形的支架里

string query =  "CREATE TABLE " + name + 
                " (Manpower_Name NVARCHAR(50), Instance INT, StartDate DATETIME, EndDate DATETIME);";

单词END是SQL CE中的保留关键字。如果你需要使用它,你应该把它放在方形的支架里

string query =  "CREATE TABLE " + name + 
                " (Manpower_Name NVARCHAR(50), Instance INT, StartDate DATETIME, EndDate DATETIME);";
END
是Sql中的一个函数

string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), " + 
              "Instance INT, Start NVARCHAR(30), [End] NVARCHAR(30));";
如果必须使用它,即不想更改行的名称,请用“[]”括起来,如下所示:

public void create_proj_table(string name)
{
    string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

    //open connection
    if (this.OpenConnection() == true)
    {
        //create command and assign the query and connection from the constructor
        SqlCeCommand cmd = new SqlCeCommand(query, connection);

        //Execute command
        cmd.ExecuteNonQuery();

        //close connection
        this.CloseConnection();
    }
}
string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";
END
是Sql中的一个函数

string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), " + 
              "Instance INT, Start NVARCHAR(30), [End] NVARCHAR(30));";
如果必须使用它,即不想更改行的名称,请用“[]”括起来,如下所示:

public void create_proj_table(string name)
{
    string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

    //open connection
    if (this.OpenConnection() == true)
    {
        //create command and assign the query and connection from the constructor
        SqlCeCommand cmd = new SqlCeCommand(query, connection);

        //Execute command
        cmd.ExecuteNonQuery();

        //close connection
        this.CloseConnection();
    }
}
string query = "Create table " + name + " (Manpower_Name NVARCHAR(50), Instance INT, Start NVARCHAR(30), End NVARCHAR(30));";

你能告诉我们你是如何执行这个查询的吗?嗨,我添加了编辑来显示它是如何执行的。谢谢你的编辑。我会更小心的。你能告诉我们你是如何执行这个查询的吗?嗨,我添加了编辑来显示它是如何执行的。谢谢你的编辑。我会更小心的。谢谢你,布莱恩!成功了!!谢谢你,布莱恩!成功了!!