以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 从后台数据表中查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50096) |
-- 作者:xiaohuli -- 发布时间:2014/4/29 11:29:00 -- 从后台数据表中查询 从后台数据表中如何进行模糊查询。 |
-- 作者:Bin -- 发布时间:2014/4/29 11:30:00 -- DatatableS("表A").LoadFilter="第一列 like \'%abc%\'" DatatableS("表A").Load
|
-- 作者:xiaohuli -- 发布时间:2014/4/29 11:34:00 -- Tables("固定资产查询窗口_Table1").Fill("Select * from {gdzc} where 类型 =\'"& e.Form.Controls("TextBox1").text & "\'or 名称 =\'"& e.Form.Controls("TextBox1").text & "\'or 部门1 =\'"& e.Form.Controls("TextBox1").text & "\' or 部门2 =\'"& e.Form.Controls("TextBox1").text & "\' or 使用部门 =\'"& e.Form.Controls("TextBox1").text & "\' or 使用人员 =\'"& e.Form.Controls("TextBox1").text & "\'or 目前状态 =\'"& e.Form.Controls("TextBox1").text & "\'","gdzc",False),原先是这样查询的,但查询的时候只能全部输入内容后才能查询出来,不能进行模糊查询,如何将如上代码改为模糊查询。上面那些控件名称里的值都是从后台数据库中取到到。 |
-- 作者:Bin -- 发布时间:2014/4/29 11:39:00 -- = 等于 改为 like 和模糊筛选类似 参考帮助http://www.foxtable.com/help/topics/1534.htm |
-- 作者:xiaohuli -- 发布时间:2014/4/29 11:48:00 -- 我不是从一个现有表里进行模糊查询,而是从后台数据表中进行模糊查询,这样怎么实现呀。 |
-- 作者:Bin -- 发布时间:2014/4/29 11:50:00 -- 请看2楼,结合4楼回复 |
-- 作者:有点甜 -- 发布时间:2014/4/29 12:06:00 -- = \'abc\' 改成 like \'%abc%\' |
-- 作者:狐狸爸爸 -- 发布时间:2014/4/29 12:07:00 -- 楼主你要理解,不管是查询现有的表,还是从后台筛选,都是合成条件表达式,不同的只是最后的代码。
一个是:
Tables("xxx").Filter = 合成的条件表达式
一个是:
DataTables("xxx").LoadFilter = 合成的条件表达式
另外不要滥用Fill,看看帮助说的:
请不要滥用Fill
通过Fill生成的Table,在打开窗口后,如果需要从同一个表加载其它数据进来,请采用LoadFilter和Load,切不可再用Fill(除非需要从另一个表加载数据), 因为Fill会重新生成DataTable和Table,不仅效率低,还会导致设置好的绑定失效。 Dim dt As Date = Date.Today.AddDays(-7) 总之, 只有需要从不同的表中加载数据时,使用Fill方法,如果从同一个表中加载数据,应该使用LoadFilter和Load。
|
-- 作者:xiaohuli -- 发布时间:2014/4/29 12:51:00 -- 狐爸,出现这种情况是怎么回事? 此主题相关图片如下:qq图片20140429124909.jpg |
-- 作者:狐狸爸爸 -- 发布时间:2014/4/29 14:14:00 -- 用MessageBox.show显示一下自己合成的条件,看看是什么。 |