vb实现数据的查询数据库

在VB怎么查询数据库中的数据啊!

1.一个简单的查询的例子:
’*定义一个连接
Dim Conn As ADODB.Connection
’*定义一个记录集
Dim mrc As ADODB.Recordset
’*分别实例化
Set Conn = New ADODB.Connection
set mrc =New ADODB.Recordset
’*定义一个连接字符串
dim ConnectString as string
ConnectString=“provider=microsoft.jet.oledb.4.0;data source=“ & App.Path & “\data\数据库名.mdb;jet oledb:database password=数据库密码“
’*打开连接
Conn1.Open ConnectString
’*定义游标位置
Conn1.CursorLocation = adUseClient
’*查询记录集(从student表中找出名子为“张三“的记录)
mrc.open “select * from student where name=’张三’“,Conn, adOpenKeyset, adLockOptimistic
’*现在你已经得到了你想要查询的记录集了,那就是mrc
’*你可以把此记录集与DataGrid榜定,用datagrid显示你查询的记录
set me.datagrid.datasource=mrc

求一段VB操作数据库查询的代码

引用前辈学习的资料,简单易懂,不忍删章去节,作为引子:
Access数据库与ADODB编程入门
即然已经了解了那些数据库中的基本概念,那么我们就只说说在VB中使用数据库编程
首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步:
读取文件–格式化数据–关闭文件–使用数据
如果数据量较大,需要进行筛选,且存放数据的源文件可能不定时变更,那么我们可以用一个临时文件来存放有用的数据,
这样可大大提高程序的效率.要时,我们首先要进行筛选,然后还得进行分类,
这样文件中的字符串才能被转换成有用的信息来供程序使用.这样一来,不用说,处理速度将大大减慢,
而且就算你设计的数据格式比较科学,当数据量非常大时,文件的容量也会变的让普通计算机无法承受.
相对文本文件来说数据库的使用也大致分为以下几步:
打开数据库–查找数据–使用数据–关闭数据库
从中可以看出,里面少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式来进行存储的.
其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个Textbox的话,
那么数据库更像是一个ListBox.使用文本文件时我们需要从整个Textbox中取出有用的信息,
并进行处理,而Listbox则可以根据需要返回特定的某一项.
由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.
这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.
而Access数据库比起SQL,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.
就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,
我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或VB自带的VISDATA.
当数据库设计好了以后,我们可以开始“数据库编程“了.
首先,我们需要引用ADO.具体的方法是,在“工程“–“引用“中,找到“MicrosoftActiveXDataObject*.*Library“,
这里的“*.*“是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.
以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access.
然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,
我们才能够访问数据库.常用的对象有两个,Connection和Recordset.
创建这两个对象的具体方法是:
1.在引用后,使用New关键字,如
PrivateConnAsNewADODB.Connection
PrivateRecoAsNewADODB.Recordset
2.在没引用时,用CreateObject创建对象:
DimConn,Reco
SetConn=CreateObject(“ADODB.Connection“)
SetReco=CreateObject(“ADODB.Recordset“)
创建了对象之后,下一步我们要做的就是打开数据库了.
先看下面的代码,可以成功的打开数据库.
Conn.open“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\Main.mdb“
这句代码打开了D盘中的Main.mdb这个数据库.
Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分“Provider=Microsoft.Jet.OLEDB.4.0“,
它表示了数据库的类型.不同的数据库可能会不同.后半句“Source=d:\main.mdb“它表示了数据库所在的绝对路径.
打开数据库之后,还要打开表.假如数据库中有一个表,表名为“Users“,字段有两个,一个为用户名,一个为密码.那么看以下代码.
1.想返回“Users“中,
Recordset.open“Select密码FromUsersWhere用户名=’去年烟花’“,Connection,1,1
之后我们就可以把用户输入的密码进行比较,看是否允许登录.
IfRecordset.eofandRecordset.bofthen
Msgbox“用户不存在!“,16
Else
IfPassWord=Recordset(“密码“).valuethen
msgbox“登录成功!“,64
Else
msgbox“密码错误!“,32
EndIf
EndIf
Recordset.Close
2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来
Recordset.open“Select*FromUsers“,Connection,1,1
这时,表已经被打开,我们就用以下代码把它显示出来.
DowhlieNotRecordset.eof
Print“用户名:“&Recordset(“用户名“).value&“密码:“&Recordset(“密码“).value
Recordset.MoveNext
Loop
Recordset.Close
由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.
Select
这里的条件可以省略.且字段名也可以用“*“来代替所有字段.
需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开字段,
所以这一句Recordset(“密码“)就没有值存在,还有可能出错.
后面的条件,可以用“=“、“》“、“《“等运算符.比如“WhereID》32“.(这里假设为数字型.)
这是打开的部分.第二个很重要的部分就是查询记录.
数据库它并不是把所有记录全部放到一个变量中备用的.而是以“当前记录“的形式来返回一个值.所以我们想从中找到有用的信息,
就必须要对信息进行定位/筛选.
定位:
移动到下一条Recordset.MoveNext
移动到上一条Recordset.MovePrevious
移动到最后一条Recordset.MoveLast
移动到第一条Recordset.MoveFrist
移动到某一条Recordset.MoveNumber
筛选:
Recordset.Find“条件“
如:
PrivateSubCommand1_Click()
Recordset.Find“用户名=“&“text1.text“
IfRecordset.Eof《》TrueThen
Msgbox“该用户的密码是:“&Recordset(“密码“).value,64
Else
Msgbox“未找到该用户的资料!“,16
EndIf
EndSub
MoveNext只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为True时….
而只要Eof和Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.
Find方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.
找到则当前的值就是符合条件的记录.
第三个部分就是添加/修改/删除记录.
修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.
比如:
Recordset(“密码“).value=“123456“
Recordset.Updata
需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.
而添加记录则可以用以下代码来实现:
Recordset.addnew
Recordset(“用户名“).value=“Admin“
Recordset(“密码“).value=“Admin“
Recordset.Updata
删除记录:
Recordset.delete
Recordset.uptata
这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.
到这里就差不多了,最后说一下上面提到的几个方法.
Recordset.OpenSQL语句,数据源,游标类型,打开方法
SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据
数据源就是一个打开之后的Connection对象.
去他妈的游标类型,填1(即openkeyset)就可以了
打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.
对应数值的意义:
1只读2独占3可写4自已可写,别人可读
Connection.open连接代码,服务器用户名,密码

VB中查询数据库内容方法

多条件混合模糊搜索
“select * from 表名 where 字段名 Like’%“ & text1.text & “%’and 字段名 like’%“ & combo1.text & “%’ and 字段名 like’%“ & text2.text & “%’“
例子
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim cnstr As String
Private Sub Form_Load() ’窗口打开时,连接数据库
conn.CursorLocation = adUseClient
cnstr = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source= db1.mdb;Jet OLEDB:Database Password=“ ’修改成你的数据为地址/密码
conn.ConnectionString = cnstr
conn.Open cnstr
End Sub
Private Sub Command1_Click()
if rs.state=adstateopen then rs.close’记录集打开时则关闭记录集
strsql =“select * from 表名 where 字段名 Like’%“ & text1.text & “%’and 字段名 like’%“ & combo1.text & “%’ and 字段名 like’%“ & text2.text & “%’“
rs.Open strsql, conn, 3, 3
set DataGrid1.DataSource =rs
’这时适当调整一下datagird控件的格式(略)
End Sub
Private sub form_unload()
conn.close
end sub

VB如何实现查询数据库并显示出来

可以快速导出使用excel 就有该功能

Public Function ExportToExcel(ByVal strOpen As String, Title As String, dizhi As String, con As ADODB.Connection)
  ’*********************************************************
  ’*   名称:ExporToExcel
  ’*   功能:导出数据到EXCEL’*   用法:ExporToExcel(strOpen查询字符串,titile
  ’*excel标题,dizhi 保存路径,con  数据库连接地址)
  ’*********************************************************
lok:  On Error GoTo er
  Screen.MousePointer = 11
  Dim Rs_Data     As New ADODB.Recordset
          Dim Irowcount     As Long
          Dim Icolcount     As Long
         
        Dim XlApp     As New Excel.Application
        Dim xlbook     As Excel.Workbook
        Dim xlSheet     As Excel.Worksheet
        Dim xlQuery     As Excel.QueryTable
         
        With Rs_Data
                If .State = adStateOpen Then
                        .Close
                End If
                 .ActiveConnection = con
                 .CursorLocation = adUseClient
                 .CursorType = adOpenStatic
                 .LockType = adLockReadOnly
                 .Source = strOpen
                 DoEvents
      ’           Debug.Print strOpen
                 .Open
                 
         End With
         Debug.Print strOpen
        ’  Set Rs_Data = Open_rst_from_str(strOpen)
        With Rs_Data
                If .RecordCount 《 1 Then
                        MsgBox (“没有记录!“)
                        Screen.MousePointer = 0
                        Exit Function
                End If
                ’记录总数
                Irowcount = .RecordCount
                ’字段总数
                Icolcount = .Fields.Count
        End With
         
        Set XlApp = CreateObject(“Excel.Application“)
        Set xlbook = Nothing
        Set xlSheet = Nothing
        Set xlbook = XlApp.Workbooks().Add
        Set xlSheet = xlbook.Worksheets(“sheet1“)
         
        ’添加查询语句,导入EXCEL数据
        Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range(“a1“))
         
        With xlQuery
                .FieldNames = True
                .RowNumbers = False
                .FillAdjacentFormulas = False
                .PreserveFormatting = True
                .RefreshOnFileOpen = False
                .BackgroundQuery = True
                .RefreshStyle = xlInsertDeleteCells
                .SavePassword = True
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .PreserveColumnInfo = True
        End With
         
        xlQuery.FieldNames = True       ’显示字段名
        xlQuery.Refresh
           
          Dim i     As Integer, Zd       As String
        With xlSheet
                  For i = 1 To 6
               
                          Zd = .Range(.Cells(1, 1), .Cells(1, Icolcount)).item(1, i)
                       ’   .Range(.Cells(1, 1), .Cells(1, Icolcount)).Item(1, i) = Lm_YwToZw(Zd)
                  Next
                .Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.name = “黑体“
                ’设标题为黑体字
  ’               .Range(.Cells(1,   1),   .Cells(1,   Icolcount)).Font.Bold   =   True
                ’标题字体加粗
                .Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
  ’               .Range(.Cells(Irowcount   +   2,   Icolcount)).Text   =   Zje
                ’设表格边框样式
        End With
        XlApp.Visible = True
        XlApp.Application.Visible = True
  ’      xlBook.SaveAs dizhi
        Set XlApp = Nothing           ’“交还控制给Excel
        Set xlbook = Nothing
        Set xlSheet = Nothing
        Screen.MousePointer = 0
        Exit Function
er:
     ’   Dispose_Err
     MsgBox err.Description & “           从新导报表,请等待!“
     GoTo lok:
  End Function

使用这个模块就可以,你可以看看引用的函数即可

vb如何做数据库查询功能

Adodc1.RecordSource = “select “ & text1.text & “ from dbo.Table_tl where 后面是查询条件。比如日期=?and时间=?之类的“
这样会返回数据库列值。还有一个方法是查询是select * from 但显示的时间用 recordset1(“压力值“)
这样得到的也是压力值。

VB6.0中怎样使用data控件实现数据库查找功能

  1、使用data控件的FindFirst方法可以实现数据库记录的查找。

  2、工具:vb6。

  3、具体实现方法:

  a)在窗体上添加data1、dbgrid1、text1、command1、label1

  b)在dbgrid1的DataSource属性里选择data1

  c)实现代码如下:

Private Sub Command1_Click()
    ’查找定位记录
    Data1.Recordset.FindFirst “CategoryID=“ & Text1.Text
DBGrid1.DataSource
End Sub
Private Sub Form_Load()
    Data1.Connect = “Access 2000;“ ’设置数据库类型
    Data1.DatabaseName = “C:\db1.MDB“ ’连接数据库
    Data1.RecordSource = “Categories“ ’数据库中的表
    Data1.Refresh ’打开数据库
End Sub

  4、注意:数据库可以使用vb6文件夹内的NWIND.MDB

vb怎么实现数据库查询功能

“select * from dbo.Table_tl where date=’“ &Text1.Text“’ and time=’“ & Text2.Text & “’“
Text1 输入日期 Text2 输入时间

在VB中如何实现查询功能查询已经保存在数据库中的内容

ADO控件与数据库连接代码如下
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Command1_Click()
’插入数据:
If rs.State 《》 adStateClosed Then ’检查记录集状态
rs.Close
End If
rs.Open “insert into T_user(name,age) values(’“ & txtname.Text & “’,“ & txtage & “)“, conn, adOpenDynamic, adLockBatchOptimistic
If rs.State 《》 adStateClosed Then
rs.Close
End If
’更新DataGrid1数据
rs.Open “select * from T_user“, conn, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = rs
End Sub
Private Sub Form_Load()
conn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\hb\桌面\db1.mdb;Persist Security Info=False“
conn.CursorLocation = adUseClient ’游标放在客户端
rs.CursorLocation = adUseClient
rs.Open “select * from T_user“, conn, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = rs
End Sub
Private Sub Form_Unload(Cancel As Integer)
rs.Close ’释放
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub

VB 如何查询 access 数据库

由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访 问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起SQL,也相对简单了很多,且能 够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access. 就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或VB自带的VISDATA. 当数据库设计好了以后,我们可以开始数据库编程了. 首先,我们需要引用ADO.具体的方法是,在工程 — 引用 中,找到Microsoft ActiveX Data Object *.* Library,这里的*.*是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确 保程序在能识别旧版本Access的同时,也能识别较新版本的Access. 然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Recordset. 创建这两个对象的具体方法是: 1.在引用后,使用New关键字,如 Private Conn As New ADODB.Connection Private Reco As New ADODB.Recordset 2.在没引用时,用CreateObject创建对象: Dim Conn,Reco Set Conn = CreateObject(ADODB.Connection) Set Reco = CreateObject(ADODB.Recordset) 创建了对象之后,下一步我们要做的就是打开数据库了. 先看下面的代码,可以成功的打开数据库. Conn.open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Main.mdb 这句代码打开了D盘中的Main.mdb这个数据库. Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分 Provider=Microsoft.Jet.OLEDB.4.0,它表示了数据库的类型.不同的数据库可能会不同.后半句 Source=d:main.mdb它表示了数据库所在的绝对路径. 打开数据库之后,还要打开表.假如数据库中有一个表,表名为Users,字段有两个,一个为用户名,一个为密码.那么看以下代码. 1.想返回Users中, Recordset(密码).value = 123456 Recordset.Updata 需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效. 而添加记录则可以用以下代码来实现: Recordset.addnew Recordset(用户名).value = Admin Recordset(密码).value = Admin Recordset.Updata 这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法. 到这里就差不多了,最后说一下上面提到的几个方法. Recordset.Open SQL语句,数据源,游标类型,打开方法 SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据 数据源就是一个打开之后的Connection对象. 填1就可以了 打开方法对应了几个常数,具体哪几个可以从对象浏览器里看。 对应数值的意义: 1 只读 2 独占 3 可写 4 自已可写,别人可读。 Connection.open 连接代码,服务器用户名,密码。

如何在vb程序中查找数据库信息并显示

要查找数据库信息,关键是要解决链接数据库的问题,下面简述Vb如何SQL数据库:
有两种方法可以实现,一种是通过ODBC数据源的配置进行连接,一种是通过纯代码进行连接,下面我们就详细介绍一下这两种连接方法。
ODBC数据源VB连接SQL数据库
一、配置ODBC数据源
1、在控制面板中,双击管理工具,然后打开ODBC数据源管理器。
2、在“系统DSN”选项卡中,单击“添加”按钮,打开“创建新数据源”对话框,在“名称”列表框中选择“SQL Server”。选好单击完成
3、在打开“建立新的数据源到SQL Server”对话框,在“名称”文本框输入新数据源的名称,描述数据源按你理解的方式来写(随意)。“服务器”就选择你要连接到的服务器。
4、选择使用用户输入登录的ID和密码的SQL 验证。选连接SQL默认设置
5、再下一步下一步,完成。测试数据源看连接是否成功就行了。成功后按确定。
二、VB中设置连接
1、添加部件Mircrosoft ADO Data Control 6.0(OLEDB),把部件拖到窗体。
2、对ADO部件点右键选属性,选择使用连接字符串,按生成。
3、选择Mircosoft OLE DB Providar for SQL Server按下一步
4、
1)输入服务器名称
2)使用指定的服务器信息
3)在服务器上选择数据库
这时就选择你在SQL Server建好的数据库就行了
5、测试连接可以看到连接是否成功!
通过代码VB连接SQL数据库
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public addFlag As Boolean
Public Function OpenCn(ByVal Cip As String) As Boolean
Dim mag As String
On Error GoTo strerrmag
Set conn = New ADODB.Connection
conn.ConnectionTimeout = 25
conn.Provider = “sqloledb“
conn.Properties(“data source“).Value = Cip ’服务器的名字
conn.Properties(“initial catalog“).Value = “zqoa“ ’库名
’conn.Properties(“integrated security“).Value = “SSPI“ ’登陆类型
conn.Properties(“user id“).Value = “sa“
conn.Properties(“password“).Value = “sa“
conn.Open
OpenCn = True
addFlag = True
Exit Function
strerrmag:
mag = “Data can’t connect“
Call MsgBox(mag, vbOKOnly, “Error:Data connect“)
addFlag = False
Exit Function
End Function
Public Sub cloCn()
On Error Resume Next
If conn.State 《》 adStateClosed Then conn.Close
Set conn = Nothing
End Sub
Public Function openRs(ByVal strsql As String) As Boolean ’连接数据库记录集
Dim mag As String
Dim rpy As Boolean
On Error GoTo strerrmag
Set rs = New ADODB.Recordset
If addFlag = False Then rpy = True
With rs
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strsql
End With
addFlag = True
openRs = True
End
’Exit Function
strerrmag:
mag = “data not connect“
Call MsgBox(mag, vbOKOnly, “error:connect“)
openRs = False
End
’Exit Function
End Function
Public Sub cloRs()
On Error Resume Next
If rs.State 《》 adStateClosed Then rs.Clone
Set rs = Nothing
End Sub