vb与数据库连接及显示的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 09:03:56
我有一个名字为"shuju.mdb"的ACESS数据库,里边有一个"jieguo"表.表的内容如下:
id riqi zhi1 zhi2
1 2007-10-10 5 21
2 2007-10-10 2 9
3 2007-10-12 6 8
4 2007-10-13 12 17
...
在VB里有Text1(日期)、VSFlexGrid1和Command1,我想要在按下Command1的时候,在VSFlexGrid1控件里显示出某一天的查询结果。

要求:
1.数据库的连接
2.按确定按钮在VSFlexGrid1控件里显示出来。
3.代码直接复制就可以用的,这是最主要的,一旦被采纳高分相送。
另外,不要说“供你参考”、“你再琢磨琢磨”之类的话。实话说,我刚学vb,一点儿都不会。看了好些源码,就连这个最基础的都整不明白,实在是菜。
先谢谢了!
感谢niuxiaojia45。你给的程序是可行的,但现在有一个问题,我的数据库里有空值,我试图修改一下程序,折腾了两天,可还是不行。空值我不想删除,那是我做asp时,为了页面的数据整齐特意预留的。况且空值太多,要是删除的话工作量也太大。
我想了一个办法,就是用:
riqi BETWEEN #(text1.text)# and #(text2.text)# and shijian BETWEEN #(text3.text)# and #(text4.text)# 查询形式来运行程序,就可以躲过空值。
还望你的赐教。

我的E-mail:zxlghbgt@163.com

再次谢谢!!!

在窗体上有三个控件,一个文本框,text1 。一个命令按钮command1 .还有一个VSFlexGrid1控件,Grid1 。
程序中用到了ADO对象所以要引用它。
ADO对象使用前,应先在“工程”——“引用”中选择“Microsoft Active Data Object2.0 Library”
否则会产生引用错误。

程序运行时在文本框中输入想要查询的日期,单击命令按钮,如果找到相关记录就显示到表格中,如果没有则提示没找到。
代码如下,直接复制到窗体即可。

Public conn As ADODB.Connection
Public js As ADODB.Recordset

Private Sub Command1_Click()
Dim sql As String
Dim i As Integer
If Not IsDate(Text1.Text) Then
MsgBox "日期输入错误,请重新输入。日期格式为[年-月-日", vbOKOnly + vbCritical, "提示"
Text1.Text = ""
Text1.SetFocus
Else
InitGrid
i = 1
sql = "select * from jieguo "
Set js = New ADODB.Recordset
js.CursorLocation = adUseClient
js.Open sql, conn, 2, 2
Do While Not js.EOF
If js("riqi") = CDate(Text1.Text) Then
Grid1.Rows = Grid1.Row