簡體   English   中英

如何過濾顯示在datagridview中的數據庫?

[英]How can I filter the database that would display into datagridview?

我有3級訪問權限,表中有STUDENT,ADMIN和INSTRUCTOR。 所以我想只展示那些“講師”。 謝謝我只是編碼的新手。

 Me.cboSearchBy.SelectedIndex = 0
        Dim conn As New OleDbConnection
        Dim cmd As New OleDbCommand
        Dim da As New OleDbDataAdapter
        Dim dt As New DataTable
        Dim sSQL As String = String.Empty

        Try

            conn = New OleDbConnection(Get_Constring)
            conn.Open()
            cmd.Connection = conn
            cmd.CommandType = CommandType.Text
            sSQL = "SELECT Username, lname + ', ' + fname + ' ' + mname as name, password FROM Instructor"
            If Me.cboSearchBy.Text = "Name" Then
                sSQL = sSQL & " where lname + ', ' + fname + ' ' + mname like '%" & Me.txtSearch.Text & "%'"
            Else
                sSQL = sSQL & " where Username =" & Me.txtSearch.Text
            End If
            cmd.CommandText = sSQL
            da.SelectCommand = cmd
            da.Fill(dt)

            Me.dtgResult.DataSource = dt
            If dt.Rows.Count = 0 Then
                MsgBox("No record found!")
            End If

        Catch ex As Exception
            MsgBox(ErrorToString)
        Finally
            conn.Close()
        End Try

用此替換您的查詢部分;

     sSQL = "SELECT Username, lname + ', ' + fname + ' ' + mname as name, password FROM Instructor"
     If Me.cboSearchBy.Text = "Name" Then
        sSQL = sSQL & " where lname + ', ' + fname + ' ' + mname like '%" & Me.txtSearch.Text & "%'"
        sSQL = sSQL & " and  level like '%instructor%'"
     Else
        sSQL = sSQL & " where Username =" & Me.txtSearch.Text
        sSQL = sSQL & " and  level like '%instructor%'"
     End If

雖然@Nadeem_MK具有首選方法,但讓數據庫執行最佳操作,有時您需要所有數據,並且需要在本地過濾它(無需再次調用數據庫)。 你可以這樣做的一種方法是:

...Your code
da.SelectCommand = cmd
da.Fill(dt)
'Filter locally
dim drs as datarow() = dt.select("level = 'Instructor'")
'Use the datarow array as your datasource instead of the data table
Me.dtgResult.DataSource = drs

或者,如果您使用的是“BindingSource”,也可以對其進行過濾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM