Vb.net 如何筛选将显示在datagridview中的数据库?
我有三级权限,学生、管理员和讲师在一张表中。因此,我只想展示那些“讲师”。谢谢,我只是个编码新手Vb.net 如何筛选将显示在datagridview中的数据库?,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,我有三级权限,学生、管理员和讲师在一张表中。因此,我只想展示那些“讲师”。谢谢,我只是个编码新手 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
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”,您也可以对其进行筛选。您的意思是您有3个表,1个用于学生,1个用于管理员,另一个用于讲师?只有1个表,我只想在datagridview中显示讲师,因为这3个表都在一个表中。您能提供表结构plz吗?我看到您正在从讲师处查询
选择*FROM讲师,其中级别=@user。。。。在“级别”内:讲师、管理员、学生,只想显示帐户中有“讲师”的人。您的表名是讲师?您的@user将包含单词讲师?