我尝试运行以下代码:
SqlCeEngine engine = new SqlCeEngine( connStr );
engine.CreateDatabase( );
SqlCeConnection conn = null;
conn = new SqlCeConnection( connStr );
conn.Open( );
string eh =
@"Create table test(ID INT IDENTITY NOT NULL PRIMARY KEY, DateTest DATETIME);
Create table test2(ID INT IDENTITY NOT NULL PRIMARY KEY, DateTest DATETIME);";
SqlCeCommand hm = new SqlCeCommand(eh, conn);
hm.ExecuteNonQuery();
但是当我尝试执行ExecuteNonQuery时,我得到以下异常:
{解析查询时出错。 [令牌行号= 2,令牌 line offset = 1,Token in error = Create]}
任何想法可能导致这种情况发生?
答案 0 :(得分:2)
您必须单独执行每个命令。
如果您希望它们一起成功或失败,那么您需要将所有内容包装在事务中。
答案 1 :(得分:2)
像其他人说的那样,这两个命令需要分开。我相信在两个命令之间添加GO
也可以。
答案 2 :(得分:1)
您在创建中的第二个语句包含table2
,它应该只是table
创建表 test2(ID INT IDENTITY NOT NULL PRIMARY KEY,DateTest DATETIME);
编辑:由于table2
是一个拼写错误,我相信您必须单独执行这两个命令。