6.3.1 数据控件属性
1.Connect属性
Connect属性指定数据控件所要连接的数据库类型,Visual Basic默认的数据库是Access的MDB文件,此外,也可连接DBF、XLS、ODBC等类型的数据库。
2.DatabaseName属性
DatabaseName属性指定具体使用的数据库文件名,包括所有的路径名。如果连接的是单表数据库,则DatabaseName属性应设置为数据库文件所在的子目录名,而具体文件名放在RecordSource属性中。
例如,要连接一个Microsoft Access的数据库C:\Student.mdb,则设置DatabaseName=”C:\Student.mdb",Access数据库的所有表都包含在一个MDB文件中。如果连接一个FoxPro数据库如C:\VB6\stu_fox.dbf,则DatabaseName=”C:\VB6”,RecordSource=”stu_fox.dbf”,stu_fox数据库只含有一个表。
3.RecordSource属性
RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表名、一个存储查询或者是使用SQL查询语言的一个查询字符串。
例如,要指定Student.mdb数据库中的基本情况表,则RecordSource=”基本情况”。而RecordSource=”Select * From 基本情况Where专业=’物理’ ”,则表示要访问基本情况表中所有物理系学生的数据。
4.RecordType属性
RecordType属性确定记录集类型。
5.EofAction和BofAction属性
当记录指针指向Recordset对象的开始(第一个记录前)或结束(最后一个记录后)时,数据控件的BofAction和EofAction属性的设置或返回值决定了数据控件要采取的 *** 作。属性的取值如表6.1所示。
表6.1 EofAction和BofAction属性
属性
取值
*** 作
BofAction
0
控件重定位到第—个记录
1
移过记录集开始位,定位到一个无效记录,触发数据控件对第一个记录的无效事件Validate
EofAction
0
控件重定位到最后—个记录
1
移过记录集结束位,定位到一个无效记录,触发数据 控件对最后一个记录的无效事件Validate
2
向记录集加入新的空记录,可以对新记录进行编辑,移动记录指针,新记录写入数据库
在Visual Basic中,数据控件本身不能直接显示记录集中的数据,必须通过能与它绑定的控件来实现。可与数据控件绑定的控件对象有文本框、标签、图像框、图形框、列表框、组合框、复选框、网格、DB列表框、DB组合框、DB网格和OLE容器等控件。要使绑定控件能被数据库约束,必需在设计或运行时对这些控件的两个属性进行设置:
• DataSource属性该属性通过指定—个有效的数据控件连接到一个数据库上。
• DataField属性该属性设置数据库有效的字段与绑定控件建立联系。
绑定控件、数据控件和数据库三者的关系
用可视化数据管理器建立以上设计的数据库及其表,表中数据可自行录入。
1、打开代码窗口,添加引用:Imports System.Data.SqlClient。
2、输入以下代码:
“Public conn1 As SqlConnection = New SqlConnection _
("server=192.168.1.79Initial Catalog= studentUser ID= panqePWD=shentai768@")”,vb就已经成功连接sql数据库了。
3、代码详解:声明关键字Public(因为是全局变量,所以用Public 来声明)。
4、连接参数。
5、如果SQL 数据库就在本机,则用以下代码连接:
("server=.Integrated Security=FalseInitial Catalog= studentUser ID= panqePWD=shentai768@")。
6:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。
你有数据库吗?连接你的数据库的位置,加他的 连接条件就可以拉下面是一个连接数据库的模块,大家可以使用它来连接SQL数据库,使用起来比ADO控件还简单:
代码如下:
Public rsNew As ADODB.Recordset
Public CnNew As ADODB.Connection
Public addFlag As Boolean
'连接数据库
Public Function OpenCn() As Boolean
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
CnNew.ConnectionTimeout = 25
CnNew.Provider = "sqloledb"
CnNew.Properties("data source").value = "" 'SQL服务器的名
CnNew.Properties("initial catalog").value = "pubs"'库名
CnNew.Properties("integrated security").value = "SSPI"'登陆类型
'con.Properties("user id").value = "sa"
'con.Properties("password").value = "wwww"
CnNew.Open
OpenCn = True
addFlag = True
Exit Function
strErrMag:
Mag = "数据库末连接"
Call MsgBox(Mag, vbOKCancel, "错误:数据库连接")
addFlag = False
End
End Function
Public Sub Clocn()
'闭关数据库
On Error Resume Next
If CnNew.State <>adStateClosed Then CnNew.Close
Set CnNew = 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 rsNew = New ADODB.Recordset
If addFlag = False Then rpy = OpenCn
With rsNew
.ActiveConnection = CnNew
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strSql
End With
addFlag = True
OpenRs = True
Exit Function
strErrMag:
Mag = "数据库数据集末连接"
Call MsgBox(Mag, vbOKOnly, "错误:数据库连接")
OpenRs = False
End
End Function
Public Sub cloRs()
'闭关数据集
On Error Resume Next
If rsNew.State <>adStateClosed Then rsNew.Close
Set rsNew = Nothing
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)