ACCESS数据库的INSERT问题 ( 积分: 200 )

  • 主题发起人 主题发起人 ztszts
  • 开始时间 开始时间
Z

ztszts

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI7+ACEESS2000+ADO
我是要ADOCommand执行下面的SQL,没有报错,但数据也没有复制到表GRXXW中去
INSERT INTO GRXXW SELECT * FROM GRXX WHERE ID IN (21)
这是什么原因?我使用
INSERT INTO GRXXW(ID,XM,XB) SELECT ID,XM,XB FROM GRXX WHERE ID IN (21)
也没有报错,同样的数据也没有复制过去
---------
新问题:我发现执行完之后,GRXXW里数据没有出行,而且GRXX里的数据也丢失了
我现在把ADOCOMMAND换成了ADOQUERY也是同样的错误
 
那就是没有满足条件的记录呗。
id是字符型的,还是数值型的?
是不是应该这样
INSERT INTO GRXXW(ID,XM,XB) SELECT ID,XM,XB FROM GRXX WHERE ID IN ('21')
 
GRXX中ID是自动编号的,
GRXXW中ID不是自动编号的
数据类型都是长整形
SQL在ACCESS中执行成功,没有任何错误
很奇怪,现在是后悔死了用ACCESS[:(]
 
发错了。
 
你直接在access的设计li执行
INSERT INTO GRXXW(ID,XM,XB) SELECT ID,XM,XB FROM GRXX WHERE ID IN (21)
看看会不会报错。。。
 
谢谢楼上两位的回复
我在ACCESS的设计里执行没有任何问题,只是放到DELPHI里才不行的
我的程序中多直接用ADOTABLE或ADOQUERY直接操作数据结果集都没有问题
执行SELECT的SQL也没有问题,只是到这个INSERT INTO就不正常了
 
正确代码:
(当GRXXW表存在时) 用
INSERT GRXXW(ID,XM,XB) SELECT ID,XM,XB FROM GRXX WHERE ID IN ('21')
 
Insert into table select * From ...这样的语句也应该是正确的,在Delphi里以前写过,没有问题啊.
 
TO 周海涛:INSERT GRXXW(ID,XM,XB) SELECT ID,XM,XB FROM GRXX WHERE ID IN ('21')
使用它将报错,语法错误
TO sunnyfairy:是的,语句放到ACCESS中执行没有任何问题,但放到DELPHI里执行并不报错,结果也不对,我的程序里这一句执行完后就是退出程序,也没有执行其他操作。
问题很奇怪
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
751
SUNSTONE的Delphi笔记
S
S
回复
0
查看
758
SUNSTONE的Delphi笔记
S
后退
顶部