vb6数据库
Ⅰ VB6.0中怎样使用data控件实现数据库查找功能
1、使用data控件的FindFirst方法可以实现数据库记录的查找。
2、工具:vb6。
3、具体实现方法:
a)在窗体上添加data1、dbgrid1、text1、command1、label1
b)在dbgrid1的DataSource属性里选择data1
c)实现代码如下:
PrivateSubCommand1_Click()
'查找定位记录
Data1.Recordset.FindFirst"CategoryID="&Text1.Text
DBGrid1.DataSource
EndSub
PrivateSubForm_Load()
Data1.Connect="Access2000;"'设置数据库类型
Data1.DatabaseName="C:db1.MDB"'连接数据库
Data1.RecordSource="Categories"'数据库中的表
Data1.Refresh'打开数据库
EndSub
4、注意:数据库可以使用vb6文件夹内的NWIND.MDB
Ⅱ vb6.0如何连接MYsql数据库
最简单的办法是:在VB里添加一个ADO部件,将其放到窗体中,然后右键选择属性,在其属性页的下面有个生成连接字符串的项,点击其后的按钮,然后一步步的来做(很简单的),然后连接字符串就会在那里生成,只要拷贝这个字符串,就可以用ADODB来连接了。。。
Ⅲ vb6用ado 连接数据库后,如何获得数据
VB6用Ado连接数据库后,通过Sql结构化查询语句获得数据库中表的数据。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
ADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。
应用代码示例:
Private Sub Command1_Click()
Dim cn As New ADODB.Connection '定义数据库的连接
Dim rs As New ADODB.Recordset
Dim sql As String
sql = "select * from jishijilu"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "wd.mdb;Persist Security Info=False"
cn.Open
rs.CursorLocation = adUseClient
rs.Open sql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
End Sub
Ⅳ VB6数据库简单问题
一:
Private Sub Command1_click()
Adodc1.CommandType = adCmdText
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & App.Path & "\a.mdb"
Adodc1.RecordSource = "select test1,test2,test3 from 表一 where test1='a100'"
Adodc1.Refresh
if Adodc1.Recordset.RecordCount>0 then
text2.text=Adodc1.Recordset.Fields("test2")
text3.text=Adodc1.Recordset.Fields("test3")
else
msgbox("不存在。")
end if
End Sub
二:
Private Sub Command2_click()
dim a() as string,b() as string
a=split(text4.text,vbcrlf)
for i=0 to ubound(a)
b=split(a(i)," ")
Adodc1.Recordset.AddNew
Adodc1.Recordset..Fields("test1")=b(0)
Adodc1.Recordset..Fields("test2")=b(1)
Adodc1.Recordset..Fields("test3")=b(2)
next
Adodc1.Recordset.Update
end sub
三:
dim a as string,b() as string
a="dfgfbnhmjh——hnjgh——bnhg——gh"
b=split(a,"——")
for i=0 to ubound(b)
text1.text=text1.text & b(i) & vbcrlf
next
Ⅳ VB6.0 如何连接SQL 数据库
你在SQL SERVER中新建一个数据库,然后将这个数据库生成脚本文件,根据情况修改后转存为MASTER下的一个存储过程。至于数据库名和数据文件路径可以做成参数传入,然后在VB中用连到MASTER后执行这个存储过程。
用VB与建立的SQL数据库连接
1.使用ODBC DSN连接字符串
DSN=mySystemDSN;Uid=myUsername;Pwd=myPassword
----------------------------------------------
2.使用无ODBC DSN的连接字符串
(1)标准安全性
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
------------------------------------------------
(2)信任连接(分两种)
1)连接字符串1
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName;Uid=;Pwd=;
2)连接字符串2
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName;Trusted_Connection=yes
---------------------------------------------------------------------------
(3)连接本地SQL SERVER
Driver={SQL Server};Server=(local);DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
-------------------------------------------------------------
(4)连接远程SQL SERVER
Driver={SQL Server};Server=xxx.xxx.xxx.xxx; _
Address=xxx.xxx.xxx.xxx,1433; _
Network=DBMMSOCN;DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
-------------------------------------------------------
3.使用OLEDB PROVIDER FOR SQL SERVER的连接字符串
(1)标准安全性
Provider=SQLOLEDB.1; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName; _
Data Source=MyServerName
-------------------------------------------
(2)信任连接
Provider=SQLOLEDB.1; _
Initial Catalog=myDatabaseName; _
Data Source=MyServerName; _
Integrated Security=SSPI
--------------------------------------
(3)连接到命名实例
Provider=SQLOLEDB.1; _
Initial Catalog=myDatabaseName; _
Data Source=myServerName\myInstanceName; _
Password=myPassword; _
User ID=myUsername
--------------------------------------
(4)连接到本地SQL SERVER
Provider=SQLOLEDB.1; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName; _
Data Source=(local)
-----------------------------------------
(5)连接到远程SQL SERVER
Provider=SQLOLEDB.1; _
Netwprk Library=DBMMSOCN; _
Data Source=xxx.xxx.xxx.xxx,1433; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName;
Ⅵ 用VB6如何操作ORALC数据库
访问数据库,对于VB6来说,最好的就是ADO。用ODBC连接oralc
我们把对数据库的操作封装在一个cDataBase类中,他主要有以下接口,
1、ConnectionString属性,MakeConnectionString方法。
一个是直接给出连接字符串,一个是动态生成连接字符串。
至于动态生成,我可以调用ADODB控件那个属性的对话框,来实现。
2、SQLCommand属性
这个是SQL命令的,直接给一个SQL命令字符串,至于格式,我们后面详细讲。
3、Parameters属性
这是一个数组参数,对应于SQL命令里的参数。(PS:最好是二维的)
综合上面的2和3二点,讲一下。
SQL命令的写法:
如果仅仅诸如select * from Table,这个没什么好讲的。
我们实际开发中,会用到许多动态的参数值,尤其是插入新记录的时候。
很多同行喜欢有拼接的方式,比如:
insert into student(id,name,password) values(1,'test','123456')
这种写法,在实际工作中,会产生一句相当难看懂的代码,
因为后面的值,全是一些变量或控件的值。
这里推荐这种写法:insert into student(id,name,password) values(?,?,?)
把这个字符串给我们的SQLCommand,
再定义一个二维数组,dim p(2) as string
p(0)="1"
p(1)="test"
p(2)="123456"
这里读者要说了,你这全是字符型啊,我ID是数字啊。
补充说明一下,数字,字符,日期,都可以定义成string。
这三种类型,是所有的数据库都支持的。
我上面PS了一下,说是定义二维的,那就是说,把参数的类型也加到数组里去,这样就比较完善了。
4、下面就是二个执行SQL语句的方法,为什么是二个呢?因为VB6不支持多态。
ExecuteSQLr方法,
此方法返回一个记录集,比如:select语法。
ExecuteSQLn方法,
此方法返回一个影响的行数,比如:insert语法,delete语法。
这二个方法,先要判断一下前面的属性有没有赋值。
接着,我们用ADO的Command对象来操作。
'返回受影响的记录数,Update/Delete/Insert
Public Function ExecuteSQLn() As Long
On Error GoTo errTrap
Dim MyCon As New Connection '连接对象
Dim MyCMD As New Command 'cmd对象
MyCon.ConnectionString = DataBaseConnectionString '连接字符串
MyCon.CursorLocation = adUseClient '游标
MyCon.Open '打开连接
MyCMD.ActiveConnection = MyCon 'CMD对象的当前连接
MyCMD.CommandType = adCmdText 'CMD对象的命令类型
MyCMD.CommandText = SQLString 'CMD对象的具体命令
MyCMD.CommandTimeout = 15 'CMD对象的超时时间
If Len(XMLParameters) = 0 Then '判断是否有参数(我这里的参数不是数组,是XML字符串)
'无参数
Else
Dim p() As String, i As Long
If MyXML.XMLString2StringArray(XMLParameters, p) Then 'XML字符串转换为数组
For i = LBound(p) To UBound(p)
MyCMD.Parameters(i) = p(i) '给SQL命令中的?赋值,
Next
End If
End If
Dim N As Long
MyCMD.Execute N '执行
ExecuteSQLn = N '返回影响的行数
errExit:
Set MyCMD = Nothing '释放
MyCon.Close '关闭连接
Set MyCon = Nothing '释放
XMLParameters = "" '清空参数
SQLString = "" '清空命令
Exit Function
errTrap:
ExecuteSQLn = 0
'写错误日志
WriteLog "文件:cADO" & vbCrLf & _
"过程:ExceuteSQLn()" & vbCrLf & _
"错误号:" & Err.Number & vbCrLf & _
"错误描述:" & Err.Description
Err.Clear
Resume errExit
End Function
Ⅶ VB6.0连接ACCESS数据库
在创建窗体时
不
要选择
标准
窗体
选
VB数据库创建导向
然后
一步步
往下做
,..呵呵
Ⅷ VB6程序查询数据库
既然是多方式模糊查询,那么必须具备几个条件:
1、首先有查询方式的选择框,还有查询需要的关键字的输入框;
2、模糊查询结果不是一条记录,那么必须将查询出的所有结果在列表框控件中显示出来;
3、点击列表框中的一条记录,在文本框中显示这条记录的详细内容。
我比较喜欢用MSFlexGrid控件显示查询结果,下面给你一个比较实用的范例:
Private Sub Command1_Click() '查询
If Combo1.Text = "" Then
MsgBox "你没有选择查询方式,请选择!", 16, "错误!"
Exit Sub
End If
If Text1.Text = "" Then
MsgBox "你没有填写关键字,请填写!", 16, "错误!"
Exit Sub
End If
If Combo1.Text = "查询条件1" Then
strSQL = "Select * From 数据表名 字段名1 Like '%" & Text1.Text & "%'"
ElseIf Combo1.Text = "查询条件2" Then
strSQL = "Select * From 数据表名 Where 字段名2 Like '%" & Text1.Text & "%'"
ElseIf Combo1.Text = "查询条件3" Then
strSQL = "Select * From 数据表名 Where 字段名3 Like '%" & Text1.Text & "%'"
End If
Call SJK(db) '数据库连接函数
RS.Open strSQL, db, 2, 2
Do While Not RS.EOF
SST = SST + 1
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
If SST = 0 Then
MsgBox "你没有你查询的记录!", 16, "无记录!"
With MSFlexGrid1
.Cols = 3
.Rows = 1
.TextMatrix(0, 0) = " 序号"
.TextMatrix(0, 1) = " 姓名"
.ColWidth(0) = 1000
.ColWidth(1) = 1000
.ColWidth(2) = 0
End With
db.Close
Set db = Nothing
Exit Sub
End If
With MSFlexGrid1
.Cols = 3
.Rows = SST + 1
.TextMatrix(0, 0) = " 序号"
.TextMatrix(0, 1) = " 姓名"
.ColWidth(0) = 1000
.ColWidth(1) = 1000
.ColWidth(2) = 0
RS.Open strSQL, db, 2, 2
For I = 1 To SST
.TextMatrix(I, 0) = I
.TextMatrix(I, 1) = RS!姓名
If Option1(0).Value = True Then
.TextMatrix(I, 2) = RS!SID
ElseIf Option1(1).Value = True Then
.TextMatrix(I, 2) = RS!SID
ElseIf Option1(2).Value = True Then
.TextMatrix(I, 2) = RS!SID
ElseIf Option1(3).Value = True Then
.TextMatrix(I, 2) = RS!ZID
ElseIf Option1(4).Value = True Then
.TextMatrix(I, 2) = RS!SID
End If
RS.MoveNext
Next I
RS.Close
Set RS = Nothing
End With
db.Close
Set db = Nothing
Label1(2).Caption = "本次查询结果" & SST & "条"
End Sub
Private Sub MSFlexGrid1_Click()
If Not Val(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2))) = 0 Then
PKID = Val(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2)))
Call SJK(db)
strSQL = "select * from 数据表名 Where ID=" & PKID & " Order By ID"
RS.Open strSQL, db, 3, 3
Text2(0).Text = RS!字段1
Text2(1).Text = RS!字段2
Text2(2).Text = RS!字段3
Text2(3).Text = RS!字段4
Text2(4).Text = RS!字段5
Text2(5).Text = RS!字段6
Text2(6).Text = RS!字段7
Text2(7).Text = RS!字段8
RS.Close
Set RS = Nothing
db.Close
Set db = Nothing
End If
End Sub