c#
  • ms-access
  • 2012-05-15 14 views 1 likes 
    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中顯示所有用戶名。

    回答

    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; 
    

    現在你可以呼籲OleDbDataAdapterFill和設置的DataSource財產網格無論你填寫什麼表格:

    youGrid.DataSource=yourDataTable; 
    
    +0

    非常感謝lcarus。我很高興聽到這種方法幫助了我很多。 –

    相關問題