2014-11-05 96 views
0

我正在處理一個標記列表到tblOffsite數據庫表中,然後需要從核心表中刪除(tblOnStock)。我的主要關鍵是tagID。我如何使用處理過的tagID從核心表中刪除?插入SQL並刪除記錄

這裏是我的代碼:

sc.ConnectionString = ("Data Source=localhost\\SQLEXPRESS;Initial Catalog=Steripack;User ID=remote;Password=0925Greg#"); 
sc.Open(); 

com.Connection = sc; 
com.CommandText = ("INSERT INTO tblOffsite (tagID, Hospital, Driver, datetime) SELECT tagID, Hospital, Driver, datetime FROM tblDelivery"); 

com.ExecuteNonQuery(); 
sc.Close(); 

sc.Open(); 
com.Connection = sc; 
com.CommandText = ("DELETE FROM tblOnStock WHERE tagID = @tagID"); 
com.ExecuteNonQuery(); 
sc.Close(); 
+0

添加@tagID參數對於初學者。 – jbutler483 2014-11-05 16:47:41

回答

1

你的意思是不管你已經插入tblOffsite應從tblOnStock被刪除?

在這種情況下,你的SQL刪除應該是:

DELETE FROM tblOnStock WHERE tagID IN (SELECT tagID FROM tblDelivery) 
+0

像夢一樣工作....非常感謝 – 2014-11-06 04:44:43

+0

嗨,現在我需要檢查tblOnStock以驗證tagID實際上是否在刪除前實際存在....也許IF語句... – 2014-11-06 06:06:56

+0

您不會真的需要它。如果tagID不存在,那麼delete語句將會忽略它並且不會刪除任何內容。它不會拋出任何錯誤。 – Swagata 2014-11-06 18:07:19