0

次の 2 つのテーブルがあります。

Table1 : UserID Name Job
Table2 : BookID Book Car UserID

これら 2 つのテーブルを 1 つの 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 から 1 行を削除したい:

 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

「すべての本ではなく、特定のユーザーから本を削除する必要があります。」とあなたは言います。書籍を削除する必要があるユーザー ID を知っている必要があります。

ユーザーの本を削除したい場合は、次のようにします。

(user_id1、user_id1 など .....) のユーザー ID がある Table2 から削除します。ただし、削除する行が大きい場合は、一括削除メカニズムを使用してください。

ユーザー ID がなく、ブック ID がある場合は、次のようにする必要があります。

テーブル 2 から削除します。bookid は (book_id1、book_id2 など ..); または、bookid =? の Table2 から削除します。//開発言語に応じて、「?」を設定します パラメータ。C# の構文がわかりません。

于 2013-01-20T09:54:09.117 に答える
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 に答える