TMD,ado for delphi5 的升级包欺骗我的感情(100分)

  • 主题发起人 terry_lzs
  • 开始时间
T

terry_lzs

Unregistered / Unconfirmed
GUEST, unregistred user!
下载了一个升级包安装,心想这下可以没有讨厌的bug了,没想到这下倒好,的确不会再有
ado的问题了,delphi一打开ado的那一页控件都没有了。谁告诉我,这是为什么?!
 
这儿:
component->install packages....
看看 "Boeland ADOO DB Components" 选中了没有。
 
不知是你的Delphi有问题还是你的System有问题,我从未遇到这种问题
 
顺便问一下,
我一个数据表中有一个字段,s 设置为主键
adoquery1.append;
adoquery1.fieldbyname('s').asstring:='aa';
try
adoquery1.post;//在这里由于有可能出现重复的值所以这里会出现异常
except
adoquery1.cancel;
adoquery1.Locate('s',aa,[]);
adoquery1.edit;
adoquery1.fieldbyname('t').asstring:='r';
adoquery1.post;//如果出现重复,那么就在t字段赋值为'r',不过错误就在这里
运行到这会报错,说记录以被修改,具体的信息就不说了,那个
讨厌的信息,大家心里都明白。我在local前加上adoquery1.active
=false;adoquery1.acitve:=true;后就不会出错了,不过这样速度大受
影响,该这么解决?我以为升级后就没事了,结果...
end;
 
你用的数据库是啥?
若是access只要加一个自动编号类型的字段就行了。
 
我用的是sql7.0啦
我不是要一个自动编号的东西,其实我是做一个搜索的东西,如果有搜索到符合的字符串
就当作新的记录添加到数据库中,如果重复了,我只要记录它所在的位置就行了,所以我
把记录查找到的东西那个字段用作主键了,这样不会重复记录
 
我知道大概的原因了,升级后dclado50.bpl和dclado50.dcp两个文件不能用
 
数据改变以后,好像只能用adoquery1.active=false;adoquery1.acitve:=true;对应的DBGrid
才能刷新, 这个问题 我也很烦!!!

你前面的现象, 我也从来每没见过。aerobull的方法也确实让我长了见识!
 
to aerobull:
哪里可以看得出选中没有?
 
菜单项component->install packages....
在所有的控件包列表中,
看看 "Boeland ADOO DB Components" 选中了没有。
 
如果系统是98的话不会有问题否则如果是NT你应该先将Delphi的升级包装上,然后在
装ADO的升级包
 
也出现一个问题,也是ADO升级后,我的一个表的字段是日期中的取年的整数,在没有升级
以前用TDBGRID控件还能正常显示,比如2000 及2001,可一升级后,则2000不能正常显示,
变为0,请有哪位富翁能指点迷津.(我升级了D5的D5ADOUpgrade升级包,
还级了jet40sp3_comp.exe,数据库为INFORMIX.730
 
ado那个页里面空空的
好了,我的问题关键就是后来说得那个数据提交出现异常后再提交出现的问题,谁来帮帮忙
 
你下载的什么升级包?

Delphi 5 Ent.只有ADO SP2, SP1不能用

sp2只修正EOF+BOF问题,不管别的。
你说的问题是不是bug还不知道。。。

也没贴出来看看?
 
贴出来了,我要解决的就是上面我写的那个问题,我有贴代码出来
 
我原来要解决的就是上面提到的问题,我有把代码贴出来
我的升级包是在csdn下载的,也不知道是哪种,当初有些急病乱投医啦。
 
奇怪,那为什么不先搜索,找不到再append...
 
adoquery1.append;
adoquery1.fieldbyname('s').asstring:='aa';
try
adoquery1.post;//在这里由于有可能出现重复的值所以这里会出现异常
except
adoquery1.cancel;
adoquery2.sql.text := 'update table1 set t="r" where s="aa"';
adoquery2.execsql;
end;
 
我把s设为主键了,原想不用检索那么麻烦了,不能append就说明重复了。
 
顶部