2014-11-05 74 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