有两个表:
Table1 : UserID Name Job
Table2 : BookID Book Car UserID
我在一个wpf datagrid中加载这两个表:
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);
但不行,
我该怎么做?
答案 0 :(得分:0)
您必须使用以下方式删除行
DELETE FROM table2
WHERE userid = (SELECT userid
FROM table1);
答案 1 :(得分:0)
你期待这样的事吗?
DELETE FROM B WHERE BOOKID IN (SELECT BOOKID FROM B,A WHERE B.USERID=A.USERID AND B.BOOK='ABCD');
答案 2 :(得分:0)
你说“它必须删除某个用户的书而不是所有书籍。” 您必须知道必须删除书籍的用户ID。
如果要删除用户图书,请执行以下操作:
从表2中删除userid in(user_id1,user_id1,etc .....); 但是你要删除大行,使用批量删除机制。
如果您没有用户ID并拥有图书ID,则必须执行此操作:
从Table2中删除bookid(book_id1,book_id2等); 或者从Table2中删除bookid =? //根据你的开发语言,你设置“?”参数。我不知道C#语法。