请教个问题,关于VB的ADO控件

来源:百度知道 编辑:UC知道 时间:2024/05/26 20:41:18
请问以下代码中的“rs.Open sql, cn, 1, 1”语句,是什么意思?

Private Sub Command1_Click()
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\librarian.mdb;Persist Security Info=False"
sql = "select * from info_admin where account="" & Text1.Text"""
'获取数据库中是否存在用户输入的账户
rs.Open sql, cn, 1, 1
If rs.EOF = True Then
MsgBox "请重新输入", vbCritical, "用户名错误"
End If
End Sub
麻烦各位再解释一下:
rs.Open sql, cn, 1, 1
中的“SQL”是什么意思?

意思是以只读方式打开表(游标)并查询数据:

rs.Open 打开游标

参数: sql,cn 1, 1

第一个:sql
对象的变量名、SQL 语句、表名、存储过程调用或持久 Recordset 文件名。

程序中的 sql 是个字符串变量,包含要查询的SQL语句。

sql = "select * from info_admin where account="" & Text1.Text"""

第二个:cn
包含用来建立到数据源的连接的信息的字符串。

第三个:1 (adOpenKeyset)
可选。确定提供者打开 Recordset 时应该使用的游标类型,可为下列常量之一
adOpenForwardOnly (默认值)打开仅向前类型游标。
adOpenKeyset 打开键集类型游标。
adOpenDynamic 打开动态类型游标。
adOpenStatic 打开静态类型游标。

第四个:1 (adLockReadOnly)
可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum 值,可为下列常量之一。

adLockReadOnly (默认值)只读 — 不能改变数据。
adLockPessimistic 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录来完成。
adLockOptimistic 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用 Update 方法时才锁定记录。
adLockBatchOptimistic 开放式批更新 — 用于批更新模式(与立即更新模式相对)。

SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据