要利用数据控件返回数据库中记录的集合,怎样设置它的属性

要利用数据控件返回数据库中记录的集合,怎样设置它的属性,第1张

要利用数据控件返回数据库中记录的集合,应先在窗体上画出控件,再通过它的三个基本属性Connect、DatabaseName和RecordSource设置要访问的数据资源。

 

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9942912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存