1

我尝试运行以下代码:

           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,令牌行偏移量=1,错误令牌=创建]}

任何想法可能导致这种情况发生?

4

3 回答 3

2

您必须分别执行每个命令。

如果您希望它们一起成功或失败,那么您需要将所有内容包装在事务中。

于 2012-08-03T03:31:57.640 回答
2

就像其他人说的那样,这两个命令需要分开。我相信GO两个命令之间的 add 也会起作用。

于 2012-08-03T19:46:58.623 回答
1

您在 create 中的第二个语句包含table2它应该只是table

创建test2(ID INT IDENTITY NOT NULL PRIMARY KEY, DateTest DATETIME);

编辑:由于table2是一个错字,我相信你必须分别执行这两个命令。

于 2012-08-03T03:31:49.880 回答