怎样查看数据库中是不是已存在某条记录 ?

bitzl210 2005-08-15 10:34:10
在数据库中,两条记录的 A 项和 B项 是不能完全相同的

那我插入新数据时,怎么判断数据库中已有了相同数据,从而不允许插入?
...全文
481 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
XLYT 2005-08-18
  • 打赏
  • 举报
回复
那就不要用什么index了,直接select多简单。
bitzl210 2005-08-18
  • 打赏
  • 举报
回复
我是在改之前的人做的程序
所以数据库什么的都不改
只要最快实现那个功能

To XLYT(雨田) :那个product是怎么来的?我没看到关于它的定义,以为随便一个值就可以
bitzl210 2005-08-18
  • 打赏
  • 举报
回复
有没有谁能帮忙看看啊
着急着呢
bitzl210 2005-08-18
  • 打赏
  • 举报
回复
原来的程序里是这么用的
我在改别人的程序
wangdeshui 2005-08-17
  • 打赏
  • 举报
回复
不用data 控件,用ado 对象,还要注意你的数据库打开方式,就是,adopenstatic,adlock..换一换试试
wenky_2000 2005-08-17
  • 打赏
  • 举报
回复
UP

bitzl210 2005-08-17
  • 打赏
  • 举报
回复
帮忙看看吧
XLYT 2005-08-17
  • 打赏
  • 举报
回复
你的index都是product,当然不会seek到其他字段了。
bitzl210 2005-08-16
  • 打赏
  • 举报
回复
机车号 设备号 厂家
1 123 高科

规定,机车号唯一,且设备号和厂家同时唯一
例如,数据库中已存在上面的数据,如果再插入数据机车号为1,则提示已存在该数据,是否需要覆盖。
如果插入 2 123 高科 则提示修改设备号和厂家

但如果插入 3 123 天象,则是允许的,或者 4 885 高科 也是正确的

现在我不知道怎么判 要插入的设备号和厂家是不是同时存在与一条记录
用的data控件
先用的seek,又用的nomatch ,判是不是有相同的机车号
但我发现 无论seek多少次,好象nomatch的值不变
请大家帮忙看看,还有什么办法,谢谢
下面是我的代码
mainForm.Data1.Recordset.Index = "product"
mainForm.Data1.Recordset.Seek "=", Trim(trainTxt.Text)
If mainForm.Data1.Recordset.NoMatch = True Then '没有相同的机车号
mainForm.Data1.Recordset.Index = "product"
mainForm.Data1.Recordset.Seek "=", Trim(productTxt.Text)
If mainForm.Data1.Recordset.NoMatch = True Then '没有相同的设备ID

Else '有相同的设备ID
mainForm.Data1.Recordset.Index = "product"
mainForm.Data1.Recordset.Seek "=", Trim(ComboFtry.Text)
If mainForm.Data1.Recordset.NoMatch = True Then '没有相同的厂家

Else '有相同的厂家
MsgBox "数据库中已有相同记录,请修改厂家号或设备ID", 64, "提示"
Exit Sub
End If
End If
Data1.Recordset.AddNew
Data1.Recordset.Fields(0) = Trim(trainTxt.Text)
Data1.Recordset.Fields(1) = Trim(AddZeroSatisfy(productTxt.Text))
Data1.Recordset.Fields(2) = Trim(ComboFtry.Text)
Data1.Recordset.Fields(3) = Trim(ComboFrqz.Text)
Data1.Recordset.Update
luobocheng 2005-08-15
  • 打赏
  • 举报
回复
select * from table where field='a' and ...
if (@@rowcount=0)
insert into table values('a',...)
zgvslch 2005-08-15
  • 打赏
  • 举报
回复
先 Select 看有没有记录
rst.open "select * from table where field1='a' and ..."
if not rst.eof then
msgbox "有这条记录"
end if
还想懒够 2005-08-15
  • 打赏
  • 举报
回复
设置该列为主键,直接Insert时如果有重复,就会报错。
bitzl210 2005-08-15
  • 打赏
  • 举报
回复
我用的是Data控件
查表中是否存在A,若不存在,在查表中是否有同一条记录中含有B和C,若有,提示

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧