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
中显示所有用户名。
答案 0 :(得分: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;