vb 数据库无记录提示

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:18:44
请教高手们,下面这个程序我是用来查询数据库后添加新数据的,思路如下,当在数据库中搜索(Command7)不到时,添加(Command1)按钮激活,再添加新数据,这样可以避免重复,但为什么每次添加(Command1)时总会提示无记录呢?如何能屏蔽?

Private Sub Command7_Click()
str_pla = Text1.Text
Data1.RecordsetType = 0
Data1.RecordSource = "database"
Data1.Refresh
Data1.Recordset.Index = "PLATE"
Data1.Recordset.Seek "=", str_pla
If Data1.Recordset.NoMatch = False Then
Command1.Enabled = False
Else
Command1.Enabled = True
End If
Private Sub Command1_Click()

Data1.Recordset.AddNew
Data1.Recordset.Fields("PLATE") = Text1.Text
...
Data1.Recordset.Update
问个弱问题:res是对什么的操作?还有这句怎么理解:res.Open "select * from animal where animal=' " & text1 & "'", cnn, 1, 3
谢谢

首先在一个过程里只需要一个on error 语句。

你是用datagrid绑定的吗?
如果是绑定的,只要你输入数据,就会保存记录的,不管有没有重复,也容易出错。
不要在datagrid里添加记录,在里面修改记录还马马虎虎,最好也不要,很容易误操作的。
应该用 res.addnew 命令添加记录,要添加的数据输入在textbox控件里,用赋值语句赋值到每一个字段里,用res.update保存记录。

If MsgBox("确实要增加吗?", vbYesNo) = vbYes Then '确认是否增加记录
If Text1 = "" Then '判断序号不能为空
MsgBox "序号不能为空!请重新输入." '显示对话框
Text1.SetFocus '使text1获得焦点
Exit Sub '退出,重新输入数据
Else
'判断序号是否已经存在
res.Open "select * from animal where animal=' " & text1 & "'", cnn, 1, 3
If Not res.EOF Then
MsgBox "此单词已有,请录入其他单词.", 48, "提示"
exit sub
End If
'增加记录
res.AddNew '在数据库里插入一条空记录
res.Fields("序号") = Text1 '赋值
res.Fields("姓名") = Text2
...........
res.Update '保存记录

End If