memo + ADOQuery 的怪问题(50分)

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

jadesun

Unregistered / Unconfirmed
GUEST, unregistred user!

我把以下代码一起写到memo中,然后用ADOQuery.sql.text := memo1.lines.text把memo中的SQL代码赋予ADOQuery,然后执行。

alter table bbs1 add LastPost varchar(255)
alter table [user] add UserLastIP varchar(15)
alter table [user] add UserPhoto varchar(255)

把以上三行代码在查询分析器中测试通过。但一起写入memo中执行就会出错,分开一条条写入执行就没问题。把memo中的SQL代码copy出来一看变成了:

alter table bbs1 add LastPost
varchar(255)
alter table [user] add UserLastIP
varchar(15)
alter table [user] add UserPhoto
varchar(255)

用memo中的code edit把代码恢复成先前输入的样子,再执行,也会语法报错。

这到底是怎么回事呢?或者各位有没有多语句一起执行的方法,我的要求就是能一下子执行多行SQL语句。
 
你在每个语句后面加个‘;’号看看,能不能用。
 
Query.ExecSQL;
 
memo不要设自动换行
 
是MS SQL SERVER吗?改成如下试试:
alter table bbs1 add LastPost varchar(255)
GO
alter table [user] add UserLastIP varchar(15)
GO
alter table [user] add UserPhoto varchar(255)
GO
 
按照以上朋友的做法,已经把语句区分开了。但是执行还是出错,语句在ACCESS中执行。语句如下:

alter table bbs1 add LastPost varchar(255)
alter table [user] add UserLastIP varchar(15)
alter table [user] add UserPhoto varchar(255)

报错:alter table 语句中的语法出错

如果在语句中加逗号
alter table bbs1 add LastPost varchar(255),
alter table [user] add UserLastIP varchar(15),
alter table [user] add UserPhoto varchar(255)

则出现字段定义语法出错。

数据库是ACCESS,这语句错了吗?
 
你一句一句执行
看看那句报错
 
acess不支持多条语句执行,你只能一条一条执行。
 
还是用程序把memo中的三句语句分开,分三次放到adoquery中去执行。对用户来说效果上跟一次执行三句的效果是一样的。
 
接受答案了.
 
后退
顶部