2012-08-03 57 views
1

多個表我嘗試運行下面的代碼:創建一個SQLCE命令不工作

  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,令牌錯誤=創建]}

任何想法可能會導致這種情況發生?

回答

2

你必須分別執行每個命令。

如果你希望他們都成功或失敗在一起,那麼你需要將所有事情都包含在一個事務中。

1

在創建你的第二個語句包含table2應該只是table

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

編輯:由於table2是一個錯字,我相信你必須單獨執行這兩個命令。

+0

哦對不起,這是一個錯字,我的實際代碼不... – tweetypi 2012-08-03 03:33:44

2

和其他人一樣,這兩個命令需要分開。我相信在兩個命令之間加上GO也可以。