你这个是读取文本文件并显示
想显示指定时间内的数据,首先要有时间参数传递
其次需要根据时间信息把读取的文本弄到数组里,然后选择合适的数组显示出来
你这里面缺少时间内容判断和参数传递这一块,加上就行
注:这种方法很笨,需要全部读取文件,如果能够更改为数据库程序,效率就会高很多
我记得VB有个数据库对象,把文件直接作为数据库,读取到窗口控件内,直接就能筛选出来
Private Sub Command1_Click()
'建立链接
Dim Cntion As ADODBConnection
Dim RecSet As ADODBRecordset
Dim ConStr, RecStr As String
Set Cntion = New ADODBConnection
Set RecSet = New ADODBRecordset
ConStr = "Provider=MicrosoftJetOLEDB40;Persist Security Info=False;Data Source=D:\1mdb"
CntionOpen ConStr
'模糊搜索语句
RecStr = "SELECT FROM 表1 WHERE TEXT1 LIKE '%" & Text1Text & "%'"
'打开数据库
RecSetOpen RecStr, Cntion, adOpenKeyset, adLockOptimistic
'如果查询结果为空,跳到NotExist
If RecSetBOF <> True And RecSetEOF <> True Then
RecSetMoveFirst
Else
RecSetClose
GoTo NotExist
End If
'输出查询结果。其中输出文本框为MultiLine,可以输出多个结果。
Text2Text = ""
Do While RecSetEOF = False
Text2Text = Text2Text & RecSetFields("TEXT1") & Chr(13) & Chr(10)
RecSetMoveNext
Loop
RecSetClose
Exit Sub
NotExist:
'输出第一行
RecStr = "SELECT FROM 表1"
RecSetOpen RecStr, Cntion, adOpenKeyset, adLockOptimistic
If RecSetBOF <> True And RecSetEOF <> True Then
RecSetMoveFirst
End If
Text2Text = ""
Text2Text = RecSetFields("TEXT1")
RecSetClose
End Sub
具体 *** 作的话,有两种方案供您参考:
方案一:如果您需要导入的数量量不是太大的话,可以每次查询时导入数据
在数据库中,建立了个查询的视图导入到数据集中,
在您的文本框的文本改变的过程中,不断调用数据表的LOAD过程,此过程需要参数,这个参数就是您的文本框的内容这样做的缺点是需要经常联系数据库,并从数据库导入内容,加大了数据库的负载
方案二,如果您需要导入的数量量不是太大的话,可以每次查询时导入数据
在数据库中,建立了个查询的视图导入到数据集中,
在文本框的键按下值过程中,检查如果您按下的是回车键或制表键,从数据库从调用数据表的LOAD过程,这样可以降低数据库的导入过程
方案三,在初始化时,导入数据,并设置数据表的FILTER的值,以达到初始化
在文本框中输入内容时,重新设定数据表的FILTER属性即可(FILTER和SQL的查询命令中的条件差不多,具体使用方法可以查询MSDN)
这样做就很快了大多数软件都是这么做的
建议:在使用FILTER或其他方式筛选时,灵活地使用通配符%是必须的
以上就是关于vb中如何查询时间段内的的文本内容全部的内容,包括:vb中如何查询时间段内的的文本内容、急!VB怎样实现数据库的查找功能、vb2005中如何在文本框中输入数据就自动查询数据库将结果显示在Datagridview中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)