2017-06-19 94 views
2

我可以從事務除外的所有3個表中刪除數據。我不知道爲什麼我使用相同的代碼來刪除它的數據。關鍵字附近的語法不正確

錯誤是:

類型「System.Data.SqlClient.SqlException」的一個例外出現在system.data.dll但在用戶代碼中沒有處理
其他信息:不正確的語法關鍵字近「 交易

這是我的代碼:

string sql4 = @"DELETE FROM medicine; DELETE FROM batch_number;DELETE FROM patient; DELETE FROM transaction;"; 

     if (DBMgr.ExecuteSQL(sql4) >= 0) 
     { 
       LtlDatabaseMessage.Text = "Deletion successful"; 
      } 
      else 
      { 
       LtlDatabaseMessage.Text = "Unexpected error"; 
      } 
+3

'transaction'是一個關鍵字。如果確實有一個名爲'transaction'的表,請嘗試從[transaction]中刪除'。 –

+1

你應該考慮重命名你的表。 –

+0

謝謝^^它解決了我的問題^^ – user8090359

回答

4

交易是AK eyword;你可能需要轉義它,如[transaction]如果SQL Server。 RDBMS之間確切的轉義變化。這將是Oracle上的"transaction"

+1

IIRC,如果QUOTED_IDENTIFIER爲ON,它也可以是SQL Server中的「transaction」。 – Amy

+0

謝謝^^添加括號解決了我的問題。這是古怪的壽。以前我加了括號,它有同樣的錯誤。但它現在突然生效了。 – user8090359

0

交易是一個關鍵字。所以它不允許。如果你想使用Transaction作爲表名。試試這個,

string sql4 = @"DELETE FROM [medicine]; DELETE FROM [batch_number];DELETE FROM patient; DELETE FROM [transaction];"; 
相關問題