VB高手帮忙,VB代码分析

VB高手帮忙,VB代码分析,第1张

1 ,换成英文字符的,

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存