0

テーブルには、STUDENT、ADMIN、および INSTRUCTOR の 3 つのレベルのアクセス権があります。なので「インストラクター」の方のみ表示させていただきたいと思います。ありがとう、私はコーディングの初心者です。

 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
4

2 に答える 2

2

クエリ部分をこれに置き換えます。

     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
于 2013-09-25T10:35:41.360 に答える
0

@Nadeem_MK には推奨される方法がありますが、データベースに最適な処理をさせてください。すべてのデータが必要な場合があり、(データベースへの別の呼び出しなしで) ローカルでフィルター処理する必要があります。これを行う1つの方法は次のとおりです。

...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」を使用している場合は、それもフィルタリングできます。

于 2013-09-25T14:34:44.617 に答える