如何修改记录

时间:2011-10-27 08:33:15

标签: database vb6 ado

使用VB6

我正在为用户保存数据库中的条目。

代码。

rst.Open "SELECT * FROM ShiftMaster WHERE Shift_Code = '" & Trim(txtCode.Text) & "'", adoPunching, adOpenDynamic, adLockBatchOptimistic
    If (rst.BOF And rst.EOF) Then
        rst.AddNew
    End If


    rst!Shift_Code = "" & txtCode.Text
    rst!Shift_Name = "" & txtName.Text
    rst!Start_Time = "" & Format(dtpFrom.Value, "HH:mm")
    rst!End_Time = "" & Format(dtpTo.Value, "HH:mm")
    rst.UpdateBatch
    rst.Requery
    rst.Close
    MsgBox "Data successfully saved.", vbInformation
    lvdvendor

上面的代码用于保存,但是如果用户输入相同的txtcode意味着它应该修改记录,则应该添加新行。

例如

ID值

001 200

如果用户在001这样的文本框中输入相同的ID,并且用户将值更改为500意味着它应该只追逐值,它应该再添加一行具有相同ID的行。

如何做到这一点。

需要VB6代码帮助

1 个答案:

答案 0 :(得分:1)

在进行查询后,您如何知道自己想要使用哪条记录?答案是你不需要转到第一条记录:

rst.movefirst
'then add new if no records exist:
If (rst.BOF And rst.EOF) Then
    rst.AddNew
End If

需要注意的一点是,在执行查询时可能会返回多条记录,因此只会更新它找到的第一条记录。您想考虑使用TOP 1 *,因此请确保您只检索1或0条记录。