access数据库,有一主KEY,用adoquery 连接,请问在增加或修改前如何判断主KEY的值已存在?(50分)

  • 主题发起人 主题发起人 jysoft
  • 开始时间 开始时间
J

jysoft

Unregistered / Unconfirmed
GUEST, unregistred user!
以前我是用LOCATE方法的,我想应该还有其它方法,请大侠们指教。
 
findkey也行.
 
用Sql就可以了.
select field from table where MainKey = key
如果返回记录集的的RecordCount>0 表明该主键已存在,否则没有.这个速度应该很快的.
 
不用判断,应该自己提示
 
to program

能给个实例吗?因SQL改变后,原来的查询都没了,又要重新初始化一次,觉得挺麻烦,
我可不知老兄是如何做的,
 
to ugvanxk

当然,会自己提示,但那是出错,我就是想在出错前,提示用户,这个才叫好程序。
 
我不太理解你的Sql改变后,要重新初始化什么意思.我再讲一下我的思路:
Conn:TAdoConnection:
SqlText:Strnig
rsQuery:TAdoDataSet;

sqlText:='select field from table where MainKey = key'
rsQuery:=Conn.execute(sqlText)
if rsquery.recordcount>0 then
...
else
...
 
你这种方法我以前不用过,我一直是用ADOQUREY的,多谢大师了。

初始化的意思是SQL。CLEAR 及ADD,OPEN后,原来的东东都变了。
 
你是不是只会用组件来访问数据库
那你就再用一个adoquery组件,专门用来检测有没有重复key
 
>>当然,会自己提示,但那是出错,我就是想在出错前,提示用户,这个才叫好程序。
当然是进行出错截获,取消本次提交,(Cancel Post),这是系统提供的机制,难道你自己
想的办法比它好吗,效率太低了
 
不,有时自已判断会比出错捕获更快,关键看你出错的机率有多高,如果经常出错的话,
捕获就不划算了.我的方法很简单啊,你直接用就可以了.
 
后退
顶部