添加用户
问题
- 问题1:fields.count方法,值一直为1导致出现添加数据与主键重复的情况
- fields表示的是字段名数量,要表示数据的数量要使用recordSet的recordCount方法
- 问题2:recordSet中的recordCount方法返回值为 -1
- 将recordSet的cursorLocation设置为adUserClient
- 问题3:Bof或Eof中有一个是“真”
-
- 原因:
For i = 0 To objRs.RecordCount - 1
中objRs.RecordCount没有 - 1导致objRs的索引越界,导致出现此问题
- 原因:
修改
- 修改1:增加判断表中是否有数据的操作
基本实现
首先判断输入的两遍数据是否一致,如果不一致要求进行修改
If txtPassWord <> txtPassWordAgain Then '当输入密码不一致时
MsgBox "您输入的密码不一致请重新输入!", vbCritical '给出警告框您输入的密码不一致
txtPassWord.Text = "" '密码与确认密码框重置
txtPassWordAgain.Text = ""
调用方法来建立连接,并对连接情况进行判断
Set objCn = connectionLinked() '调用连接connectionLinked方法建立连接
'判断连接情况
If objCn.State = adStateClosed Then
MsgBox "连接失败", vbCritical, "数据库连接情况"
End If
判断输入数据与表中数据是否重复
- 其中这一部分我收获了关于fields方法的一些知识,fields主要涉及的方法有.value方法
sqlSelect = "select part_name from partuser" '编写查询语句
Set objRs = recordSetConnect(sqlSelect, objCn) '打开recordSet对象
For i = 0 To objRs.RecordCount - 1
If txtUserName.Text = Trim(objRs.Fields("part_name").Value) Then '判断输入的用户名是否存在重复
existValues = True
Else
If objRs.RecordCount > 1 Then '当行数大于1时,移向下一条数据
objRs.MoveNext '将当前记录位置向前移动
End If
End If
Next
sql语句向partUser表中添加数据
If existValues Then
MsgBox "你输入的用户名已经创建,请尝试登录", vbInformation, "提示"
Else
sqlInsert = "insert into partUser values('" & txtUserName.Text & "','" & txtPassWord.Text & "')"
Set objRs = recordSetConnect(sqlInsert, objCn)
MsgBox "添加成功"
End If
在经历了重重的问题和困难后终于实现了第一个模块的建立,万事开头难,加油!!