0

有两个表:

Table1 : UserID Name Job
Table2 : BookID Book Car UserID

我将这两个表加载到一个 wpf 数据网格中:

da.SelectCommand = new SqlCommand("select Table1.UserID, Table1.Name, Table1.Job, Table2.Book, Table2.Car from Table1 inner join Table2 on Table1.UserID = Table2.UserID");

我想通过 DataGrid 从 Table2 中删除一行:

 SqlCommand com = new SqlCommand("delete from Table2 where BookID=@BookID)",con);

但不工作,

我该怎么做?

4

3 回答 3

0

您必须使用以下方式删除行

DELETE FROM table2
WHERE  userid = (SELECT userid
                 FROM   table1);  
于 2013-01-19T12:13:47.053 回答
0

你期待这样的事情吗?

DELETE FROM B WHERE BOOKID IN (SELECT BOOKID FROM B,A WHERE B.USERID=A.USERID AND B.BOOK='ABCD'); 
于 2013-01-19T12:31:47.903 回答
0

你说“它必须从某个用户那里删除一本书,而不是所有的书。”。您必须知道必须删除书籍的用户 ID。

如果要删除用户书籍,请执行以下操作:

从表 2 中删除用户 ID 在 (user_id1,user_id1, etc .....); 但是你要删除大行,使用批量删除机制。

如果您没有用户 ID 并且有图书 ID,则必须执行以下操作:

从 Table2 中删除 bookid 在 (book_id1,book_id2, etc ..); 或从表 2 中删除 bookid =?//根据您的开发语言,您设置“?” 范围。我不知道 C# 语法。

于 2013-01-20T09:54:09.117 回答