2 里我不能理解后面的数字是什么意思?
RS.OPEN SQL,CONN,A,B
参数的意思如下:
A:
ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动
ADOPENKEYSET(=1)
只读,当前数据记录可自由移动
ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动
ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录
B:
ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录
ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。
ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。
ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。
用MICROSOFT jet 4.0 OLE DB Provider引擎连接ACCESS数据库,方法如下:新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。
然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中ACCESS数据库选MICROSOFT jet 4.0 OLE DB Provider,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。
SQL查询语言主要结构为:
Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]
查询字段必须分别用(西文)逗号分开或就用一个*号代替,上述查询中排序语句建议最好应用。
SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。本人一般先按上述连接,SQL用"SELECT * FROM TabelName"作调试,无问题,用一个按钮孔件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1孔件,再添加ADODC1控件再添其他内容。
这个写得还比较详细了,在此基础上补充如下:Private Sub Command1_Click()
Dim cn As New ADODB.Connection '声明数据库连接对象cn
Dim rs As New ADODB.Recordset '声明记录集对象rs
Dim strsql As String, mypath As String, connstr As String 'strsql表示查询语句,mypath表示数据库路径,connstr表示访问数据库的语句
mypath = App.Path &"\study.mdb" '获取数据库的路径
connstr = "provider=microsoft.jet.oledb.4.0data source=" &mypath &"Persist Security Info=False" '连接数据库字符串配置信息
strsql = "Select * From userInformation Where userId='" &txtuser.Text &"'" '查询语句命令
cn.Open (connstr) '连接数据库
'rs.Open strsql, cn, 1, 1
rs.Open strsql, cn '执行查询命令,查询结果返回到rs记录集
'If rs.RecordCount = 0 Then
If rs.EOF = True And rs.BOF = True Then '当前记录集中没有记录
MsgBox "用户不存在!", , "提示" 'd出对话框,显示信息
rs.Close '关闭记录集
cn.Close '关闭数据库连接
ElseIf txtpassword.Text = rs("userPassword") And Combo1.Text = rs("shenfen") Then '记录集中有记录,并且当然记录的字段(用户密码:userPassword)等于窗体上文本框内容,下拉框选择内容等于字段 (身份:shenfen)
rs.Close '关闭记录集
cn.Close '关闭数据库连接
If Combo1.Text = "教师" Then '下拉框内容为“教师”
Form2.Show '打开窗体(Form2)
Unload Me '卸载当前窗体Form2
Else '下拉框内容不为“教师”,否则
Form3.Show '打开窗体(Form3)
Unload Me '卸载当前窗体Form3
End If
ElseIf Combo1.Text <>rs("shenfen") Then '下拉框选择内容不等于字段 (身份:shenfen)
rs.Close '关闭记录集
cn.Close '关闭数据库连接
MsgBox "请重新进行身份选择", "0", "提示" 'd出对话框,显示信息
Else
rs.Close '关闭记录集
cn.Close '关闭数据库连接
MsgBox "密码不对,请重新输入!", vbOKOnly + vbExclamation, "错误提示" 'd出对话框,显示信息
txtpassword.Text = "" '窗体文本输入控件(密码)内容设为空
txtpassword.SetFocus '设置控件焦点为当前可用。
End If
End Sub
Private Sub Command2_Click()
End
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)