adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.add('if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[预收表]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 0) '); // 没有做新建,有就不管
adoquery3.SQL.add('CREATE TABLE [dbo].[预收表] ( ');
adoquery3.SQL.add(' [ID] [bigint] IDENTITY (1, 1) NOT NULL , ');
adoquery3.SQL.add(' [客户] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [所在地] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [类型] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [支票号] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [金额] [money] NULL , ');
adoquery3.SQL.add(' [减预收] [money] NULL , ');
adoquery3.SQL.add(' [状态] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [预收日期] [datetime] NULL , ');
adoquery3.SQL.add(' [有效] [bit] NULL , ');
adoquery3.SQL.add(' [操作人] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [备注] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ');
adoquery3.SQL.add(') ON [PRIMARY] ');
adoquery3.ExecSQL;这个为什么不执行啊.
adoquery3.SQL.Clear;
adoquery3.SQL.add('if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[预收表]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 0) '); // 没有做新建,有就不管
adoquery3.SQL.add('CREATE TABLE [dbo].[预收表] ( ');
adoquery3.SQL.add(' [ID] [bigint] IDENTITY (1, 1) NOT NULL , ');
adoquery3.SQL.add(' [客户] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [所在地] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [类型] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [支票号] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [金额] [money] NULL , ');
adoquery3.SQL.add(' [减预收] [money] NULL , ');
adoquery3.SQL.add(' [状态] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [预收日期] [datetime] NULL , ');
adoquery3.SQL.add(' [有效] [bit] NULL , ');
adoquery3.SQL.add(' [操作人] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [备注] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ');
adoquery3.SQL.add(') ON [PRIMARY] ');
adoquery3.ExecSQL;这个为什么不执行啊.
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.add('if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[预收表]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 0) '); // 没有做新建,有就不管
adoquery3.SQL.add('CREATE TABLE [dbo].[预收表] ( ');
adoquery3.SQL.add(' [ID] [bigint] IDENTITY (1, 1) NOT NULL , ');
adoquery3.SQL.add(' [客户] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [所在地] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [类型] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [支票号] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [金额] [money] NULL , ');
adoquery3.SQL.add(' [减预收] [money] NULL , ');
adoquery3.SQL.add(' [状态] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [预收日期] [datetime] NULL , ');
adoquery3.SQL.add(' [有效] [bit] NULL , ');
adoquery3.SQL.add(' [操作人] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , ');
adoquery3.SQL.add(' [备注] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ');
adoquery3.SQL.add(') ON [PRIMARY] ');
//adoquery3.ExecSQL;
memo1.text:=adoquery3.sql.text;//把memo1中的内容在sql server中运行一下,可否通过?
sql : String;
sql := 你上面的SQL语句 try
AdoQuery3.sql.text := sql;
adoQuery3.ExecSql;
except
raise;
end;
测试并通过,代码以下(已经分解,好等你一看便明白)procedure TForm1.Button2Click(Sender: TObject);
var
str:string;
str2:string;
str3:string;
begin
str:='if not exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[预收表]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 1)';
str2:= 'CREATE TABLE [dbo].[预收表] ( '+
' [ID] [bigint] IDENTITY (1, 1) NOT NULL , '+
' [客户] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , '+
' [所在地] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , '+
' [类型] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , '+
' [支票号] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , '+
' [金额] [money] NULL , '+
' [减预收] [money] NULL , '+
' [状态] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , '+
' [预收日期] [datetime] NULL , '+
' [有效] [bit] NULL , '+
' [操作人] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , '+
' [备注] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL '+
') ON [PRIMARY] '; str3:=str+' exec('+QuotedStr(str2)+')'; with ADOQuery3 do begin
Close;
SQL.Text:=str3;
ExecSQL;
end;
end;