放分...

auqfiudh 2009-04-06 04:34:56
        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;


这个为什么不执行啊.
...全文
111 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ks_reny 2009-04-07
  • 打赏
  • 举报
回复
showmessage(adoquery3.SQL.text) 看看你拼的SQL語句是否正確?
GDTOPONE 2009-04-06
  • 打赏
  • 举报
回复

测试并通过,代码以下(已经分解,好等你一看便明白)

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;
starluck 2009-04-06
  • 打赏
  • 举报
回复


var
sql : String;

sql := 你上面的SQL语句

try
AdoQuery3.sql.text := sql;
adoQuery3.ExecSql;
except
raise;
end;

willflyz 2009-04-06
  • 打赏
  • 举报
回复
没有理由不执行的.如果SQL语句是对的话,就不会有问题
swetter_hundsun 2009-04-06
  • 打赏
  • 举报
回复
只能说来学习,数据库方面刚刚起步。。。
de410 2009-04-06
  • 打赏
  • 举报
回复

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中运行一下,可否通过?

lovearcher 2009-04-06
  • 打赏
  • 举报
回复
不懂数据库.JF

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧