1
OleDbDataAdapter dt = new OleDbDataAdapter("select UserName from UserInfo where User_ID = (select User_ID from Groupmem_info where Group_ID=(select Group_Member_ID from GroupInfo where Group_ID ='" + grp.Text + "'", con);

3 つのリンクされたテーブルからユーザー名を表示する必要があるアクセスで、この種のコードを使用できますか。グループとユーザーの相互 ID は、グループ メンバー情報テーブルにあります。

ユーザー名を取得する方法を提案してください。すべてのユーザー名を に表示したいですdatagridview

4

1 に答える 1

0

より効率的なアプローチは、SQL ステートメントを内部結合に変更し、パラメーター化されたクエリを使用して SQL インジェクション攻撃を回避することです。

OleDbDataAdapter adapter = new OleDbDataAdapter();
OleDbCommand command;

// Create the SelectCommand.
command = new OleDbCommand("select UserName from UserInfo ui  join Groupmem_info gi on ui.User_ID =ui.User_ID where gi.Group_ID = ? ", con);

command.Parameters.Add("GroupID", OleDbType.Integer);//assuming it's an integer
adapter.SelectCommand = command;

これで、を呼び出しFillて、グリッドのプロパティを入力したテーブルにOleDbDataAdapter設定できます。DataSource

youGrid.DataSource=yourDataTable;
于 2012-05-15T13:55:25.867 に答える