注册 登录
编程论坛 VB.NET论坛

VB.NET 如何在TableAdapter中实现模糊查询

ZMGTCDY 发布于 2013-03-07 16:43, 3338 次点击
这个问题困扰了我好时间。
在TableAdapter中添加参数化查询的查询文本如下(access数据库):
SELECT 自编号, 单词 FROM 外语学习
WHERE (单词 LIKE '%" & me.单词ToolStripTextBox.text & "%')
却无法显示结果,在网上也查找了相关内容却没有满意答案,请各位大师帮忙。谢谢!
6 回复
#2
不说也罢2013-03-08 12:02
没明白楼主的意思,你是添加数据源后,将字段拖拽到窗体中,然后修改TableAdapter的CommandText值为上面的查询语句的么?
#3
ZMGTCDY2013-03-16 11:04
首先再感谢2楼朋友的关注!这几天休假没有上网很抱歉。
我用下例语句实现在DataGridView上显示要查找的结果,但是不能与托拽的字段匹配(即单击DataGridView上显示要查找的结果文本字段没有反映)。
Dim MyConnection As New System.Data.OleDb.OleDbConnection(MySQLConnectionString)
            MyConnection.Open()
            Dim MyDepartmentTable As New System.Data.DataTable()
            Dim MySQL As String = "select * from 外语学习 where (单词ike '%" & 单词olStripTextBox.Text.Trim & "%')"
            Dim MyAdapter As New OleDbDataAdapter(MySQL, MyConnection)
            MyAdapter.Fill(MyDepartmentTable)
            Me.外语学习DataGridView.DataSource = MyDepartmentTable
            If (MyConnection.State = ConnectionState.Open) Then
                MyConnection.Close()
             End If
所以我想用“查询标准生成器”来做,可是又不能查到结果。还请大师指点,谢谢!!
[local]1[/local]
#4
ZMGTCDY2013-03-16 17:14
只有本站会员才能查看附件,请 登录
#5
不说也罢2013-03-17 09:11
'在窗体上画一个新的TextBox试试,然后将查询语句行换成下面的行
  Dim MySQL As String = "select * from 外语学习 where (单词 like '%" & TextBox1.Text.Trim & "%')"              
作查询关键字的文本框不要与数据库关联才好。单词olStripTextBox这个应当已经关联了吧
#6
ZMGTCDY2013-03-17 16:52
用以上的方法我已经实现了模糊查询并在“外语学习DataGridView”中得到了结果,但是单击DataGridView行时与其对应的托拽过来的字段(文本框)没有响应。所以
我想用‘外语学习TableAdapter’中的‘添加查询’‘查询标准生成器‘来做(即上边的截图)却没有查询结果,我是初学者也是自学者不知道别人是怎么做的。
其他各种按条件查询用’查询标准生成器‘做都非常好,只有模糊查询不行。
还请楼上大师赐教。
另外’结果ToolStripTextBox‘并没有与数据库关联。
#7
不说也罢2013-03-18 12:23
查询生成器能认得单词ToolStripTextBox??只能用指定值的参数实现静态查询。实现动态查询只有在程序代码中,动态改变TableAdapter的CommandText的值。
建议楼主对所有的操作全部用代码实现。
1