放了一个MEMO,BUTTON,ADOQUERY
一、从一个sql脚本文件中读取放入MEMO中
二、点击BUTTON执行该SQL脚本文件如:SQL脚本文件中内容
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[data_xmdy]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[data_xmdy]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[XmDy]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[XmDy]
GO
CREATE TABLE [dbo].[XmDy] (
[YyDm] [smallint] NOT NULL ,
[DjDm] [int] NOT NULL ,
[XmDm] [int] NOT NULL ,
[XmCName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[XmEName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[XmPosition] [char] (4) COLLATE Chinese_PRC_CI_AS NULL ,
[XmDataType] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[XmDataSize] [smallint] NULL ,
[XmDataDecSize] [smallint] NULL ,
[XmEVisible] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[XmCVisible] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[XmEReadOnly] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[XmCReadOnly] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[XmEditCReadOnly] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[XmEditEReadOnly] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[XmRequired] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[XmCDefaultValue] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[XmEDefaultValue] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[XmCCheckTj] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[XmECheckTj] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[XmCCheck] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[XmECheck] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[XmCheckErrMsg] [char] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[XmCheckContinue] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[XmDisFormat] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[XmDisAlign] [char] (6) COLLATE Chinese_PRC_CI_AS NULL ,
[XmDisOrder] [int] NULL ,
[XmInputMode] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[XmLabelFontName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmLabelFontSize] [int] NULL ,
[XmLabelFontColor] [int] NULL ,
[XmLabelFontStyle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmLabelColor] [int] NULL ,
[XmLabelWidth] [int] NULL ,
[XmLabelHeight] [int] NULL ,
[XmLabelY] [int] NULL ,
[XmLabelX] [int] NULL ,
[XmEditFontName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmEditFontSize] [int] NULL ,
[XmEditFontColor] [int] NULL ,
[XmEditFontStyle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmEditColor] [int] NULL ,
[XmEditWidth] [int] NULL ,
[XmEditHeight] [int] NULL ,
[XmEditY] [int] NULL ,
[XmEditX] [int] NULL ,
[XmColWidth] [int] NULL ,
[XmGridTitleFontName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmGridTitleFontSize] [int] NULL ,
[XmGridTitleFontColor] [int] NULL ,
[XmGridTitleFontStyle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmGridTitleColor] [int] NULL ,
[XmGridFontName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmGridFontSize] [int] NULL ,
[XmGridFontColor] [int] NULL ,
[XmGridFontStyle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[XmGridColor] [int] NULL ,
[PageNo] [int] NULL 
) ON [PRIMARY]
GOSET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS OFF 
GOCREATE PROCEDURE data_xmdy
  @ADjDm int,@AXmPosition char(4)   
as
 select * from xmdy where DjDm=@ADjDm and XmPosition=@AXmPosition
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO以上SQL脚本能在SQL查询分析器中执行通过。为什么在DELPHI代码中会出现问题
i:=0;
query1.close;
query1.sql.clear;
while i< memo1.line.count do
begin
  query1.sql.add(memo1.line[i]);
  i:=i+1;
end;
query1.execsql;
显示”CREATE PRECEDURE 应是批查询中的第一句“在上面的SQL脚本文件中去条创建存储过程的SQL语句,
执行是对的,WHY!