新手上路,送分题。。。。

dcy 2001-08-25 08:38:58
我用ado连接了sql后台数据库,在button控件上写如下代码:
adotable1.edit;
adotable1.append;
adotable1.fieldbyname('jhdh').value:='JH000003';
但是在运行的时候出错:
project project2.exe raised exception class evarianterror with message 'Invalid variant type conversion'
但是上面三句的语法都是对的呀,类型也是对的。而且有一次我也是这样写运行之后都没问题,真搞不懂!请指教!!!!
...全文
200 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
dcy 2001-08-26
  • 打赏
  • 举报
回复
上面各位的意见都试过,还是不行。
chgo 2001-08-26
  • 打赏
  • 举报
回复
Adotable1.Open;
adotable1.fieldbyname('jhdh').asstring:='JH000003';不是
adotable1.fieldbyname('jhdh').asstring:='JH000003';
GOHKI 2001-08-26
  • 打赏
  • 举报
回复
为什么edit和append要连着用呢?
这样的话,edit等于没用.
cqwty 2001-08-26
  • 打赏
  • 举报
回复
你看看你的数据长度是不是短了,还有就是出的错误是非法的数据类型变量!
这种必须进行转换的比如asstring,asinteger等!多试试,错误找到就简单了,
你把值改小一点看看!
ecgnis 2001-08-25
  • 打赏
  • 举报
回复
对不起,答案有误。请你在adotable1所在的单元查找是否有个叫adotable1jhdh的,然后写
adotable1.edit;
adotable1jhdh.value:='JH000003'
ecgnis 2001-08-25
  • 打赏
  • 举报
回复
试试这么写:
adotable1.edit;
adotable1.adotable1jhdh.value:='JH000003';
windindance 2001-08-25
  • 打赏
  • 举报
回复
最好是:
fieldValues['jhdh'] := ...
不需要转换了。
cysnowboy 2001-08-25
  • 打赏
  • 举报
回复
同意楼上
qiandeng 2001-08-25
  • 打赏
  • 举报
回复
是你的类型不对
你要根据数据库的类型来用如下方法
fieldByName('jhdh').asString;
fieldByName('jhdh').asInteger等等
luo_zk 2001-08-25
  • 打赏
  • 举报
回复
同意楼上
boobygong 2001-08-25
  • 打赏
  • 举报
回复
最好加上adotable1.post;
boobygong 2001-08-25
  • 打赏
  • 举报
回复
同意楼上
regin 2001-08-25
  • 打赏
  • 举报
回复
同意楼上
aningstar 2001-08-25
  • 打赏
  • 举报
回复
adotable1.fieldbyname('jhdh').asString
wolfAone 2001-08-25
  • 打赏
  • 举报
回复
你将数据库打开了吧,还有最好注意类型。
dcy 2001-08-25
  • 打赏
  • 举报
回复
楼上各位的做法小弟都试过,行不通!
dcy 2001-08-25
  • 打赏
  • 举报
回复
不好意思,上面语句搞错啦!
我也试过用adotable1.fieldbyname('jhdh'),asstring:='JH000003',也不行。多谢大家的答复!
dcy 2001-08-25
  • 打赏
  • 举报
回复
我也试过用adotable1.fieldbyname('jhdh'),asstring='JH000003',也不行。多谢大家的答复!

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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