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);

我们可以在需要显示三个链接表中的用户名的访问中使用这种代码吗?组和用户的相互 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 回答