剧奇怪的问题!(30分)

  • 主题发起人 主题发起人 sweetychild
  • 开始时间 开始时间
S

sweetychild

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用ADOCONNECTION 和ADOQUERY来操作SQL数据库,进行SELECT 字段1,字段2,字段3,字段4,。。。,字段9,字段10 FROM TABLE1后
将A1:=form1.AQUERY.Fields[0].asInteger;
A2:=form1.AQUERY.Fields[1].asstring;
A3:=form1.AQUERY.Fields[2].asInteger;
。。。。。。。。。。。。。。。。
A10:=form1.AQUERY.Fields[9].asInteger;
奇怪的是通过单步执行发现除了字段定义为DATETIME和FLOAT的字段能被取出并赋值给相应变量外其它字段类型为INT和SMALLINT的字段均无法取出
,这是怎么回事啊?有人碰到过这种事吗?怎么解决的呢??????
 
字段类型为INT和SMALLINT的字段不能再用Asinteger的方式赋值给其它变量
直接用AQUERY.Fields[X].value即可。

 
我用了啊,还是取不出来呢
 
應該不太可能吧!!!關注
 
表里面有值吗?
 
有值啊,现在我发现跟SQL数据库无关,我使用ASSTRING取出类型为INTEGER是可以的,但是
想用A1:=strtoint(aa);(aa是前面作为字符串取出的数据)却死活赋值不进A1,A1是我定义为
INTEGER的变量,前面从没用过的,而且运行时系统也没有报错的,天哪!这到底是怎么回事啊?:(
 
是不是delphi优化器引起的问题?
如果a1在后面的代码中没有使用到,那么A1:=strtoint(aa);这句实际上没有被编译进去,
当然也就没有执行了。
 
那你是通过什么方式察看A1的值的???
是不是先设置断点,然后用鼠标指向变量看变量的值?INTEGER型的变量用这种方法
是看不到的,原因要去问问BORLAND了。
你试试在SHOWMESSAGE中显示A1或在其他控件中显示。
 
可是我单步执行过A1,A2,A3。。。。AN的赋值为什么只有INTEGER的赋值不进去呢?
 
用showmessage(IntToStr(a1)),看看到底显示什么?
其实已经赋值成功了!!
 
呵呵是这样,原来已经赋值进去了,谢谢大家:)

[:D]衰老的标志  
1)你出去买菜的时候,几乎所有的小偷都认识你。
??2)你坐公共汽车的时候,有时连孕妇也起身给你让座。
??3)所有办理人寿保险的推销员见到你都绕着走。
??4)你去问路的时候,你叫别人兄弟,对方却叫你叔叔。
??5)你坐在广场的雕塑前面,鸽子有时会停在你的肩膀上。
??6)以前你觉得自己没有口才,现在你可以为家里的下水道发表2个小时的演讲。
??7)看电视的时候,你突然发现葛优和赵忠祥简直就象双胞胎。
??8)你花了1个小时想起你的存折放在哪,你高兴得跳了起来,当落到地上的时候又忘了。
??9、站在十字路口等信号,可绿灯一亮却想不起来该干什么了
??10、撒完了尿拉好拉链出了厕所太阳一刺眼想不起来自己刚才尿没尿过,复又回到厕所重新演练一番撒尿程序
??11、吃完晚饭冲自己老婆说道:今天晚上我就不在你这儿过夜了,我回家去了。
??12、半夜起来撒完尿后找不到床在哪儿,只好敲开邻居家的门请他们帮忙把自己送上床去。
??13、早晨起来后不停地在屋里走动找自己的外套,最后经老婆孩子提醒才发现穿在自己身上。

 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部