注册 登录
编程论坛 VB6论坛

VB新增问题

sncelpl66666 发布于 2021-12-13 09:32, 1078 次点击
If Len(Text1.Text) < 5 Then
        MsgBox "您输入的准考证号码小于5位,请重新输入!", vbOKOnly + vbQuestion, "登录信息"
        Text1.SetFocus
        Exit Sub
        End If
        If Text2.Text = "" Then
        MsgBox "您输入的姓名为空,请重新输入!", vbOKOnly + vbQuestion, "登录信息"
        Text2.SetFocus
        Exit Sub
        End If
        rsStudent.Edit
        rsStudent.Fields(1).Value = Text1.Text
        rsStudent.Fields(2).Value = Text2.Text
        rsStudent.Fields(3).Value = Date
        rsStudent.Fields(4).Value = Time
     
        rsStudent.Update
        Unload Me
       Form2.Show
怎么实现新增而不是覆盖
1 回复
#2
hmj07452021-12-13 12:26
用 AddNew  (我写的注释是我个人理解,仅供参考, 因为怕我自己理解的不对会给人误导)
SQL = "SELECT top 1 * FROM " & myTable & ""'// 从数据库查找出1条数据做为标定(Fields), 后面的增加数据添加到这些标定内,为什么加个 TOP 1 ,标定只选一条就够了,通常会用select * 但我估计当数据量大时。用全选可能会影响速度。
Set RS = CreateObject("adodb.recordset") '//创建一个数据集保存数据
RS.Open SQL, cnn, 1, 3 '//打开数据集,后面的参数类型 是指这个数据集可以读写的
RS.AddNew '// 添加数据
For i = 0 To RS.Fields.Count - 1’// 把查找到的这条记录里的所有字段循环
.........................' 这里就是你要增加的句子,RS.Fields!字段 = 你要增加的数据
.........................
.......................
Next
RS.Update

[此贴子已经被作者于2021-12-13 13:13编辑过]

1