procedure Tfrmaddrubber.Button1Click(Sender: TObject);
var a: integer;
i: string;
begin
dmdinge.aqde.SQL.Clear;
dmdinge.aqde.sql.add('SELECT count(*) FROM saiyang..sysobjects WHERE NAME = '''+trim(edit1.text)+'''');
dmdinge.aqde.ExecSQL;
a:=dmdinge.aqde.Fields.Count;
i:=edit1.Text;
if a=0 then
begindmdinge.aqde.SQL.clear;
dmdinge.aqde.sql.add('use saiyang');
dmdinge.aqde.sql.Add('create table i (材料牌号 char(20),PHR float)');
dmdinge.aqde.Parameters.ParamByName('i').Value:=edit1.Text;
dmdinge.aqde.open;
frmaddrubber2.Show;
frmaddrubber2.Edit1.Text:=frmaddrubber.Edit1.Text;
frmaddrubber2.Edit1.Enabled:=false;end
else
messagedlg('库里已经有这个橡胶牌号了!',mterror,[mbok],0);
end;我想做一个数据库,先查库里有没有这张表,如果没有,就新建一张表,试了很多,没有办法,瞎写了一段代码,大神们帮我看看要改哪里。
var a: integer;
i: string;
begin
dmdinge.aqde.SQL.Clear;
dmdinge.aqde.sql.add('SELECT count(*) FROM saiyang..sysobjects WHERE NAME = '''+trim(edit1.text)+'''');
dmdinge.aqde.ExecSQL;
a:=dmdinge.aqde.Fields.Count;
i:=edit1.Text;
if a=0 then
begindmdinge.aqde.SQL.clear;
dmdinge.aqde.sql.add('use saiyang');
dmdinge.aqde.sql.Add('create table i (材料牌号 char(20),PHR float)');
dmdinge.aqde.Parameters.ParamByName('i').Value:=edit1.Text;
dmdinge.aqde.open;
frmaddrubber2.Show;
frmaddrubber2.Edit1.Text:=frmaddrubber.Edit1.Text;
frmaddrubber2.Edit1.Enabled:=false;end
else
messagedlg('库里已经有这个橡胶牌号了!',mterror,[mbok],0);
end;我想做一个数据库,先查库里有没有这张表,如果没有,就新建一张表,试了很多,没有办法,瞎写了一段代码,大神们帮我看看要改哪里。
解决方案 »
- vclskin美化toolbar里的toolbutton,toolbutton之间没有间隔?
- 如何把让DBgrid从表中读出的为0的字段不显示啊。。。急!!!
- 更改FrReport内的一个数据
- WinXp+虚拟机+WIN98+DELPHI5的问题
- 求一電子日歷的控件!分不夠再加,詳情請進入......
- 去掉IE广告的方法
- 日历控件的使用问题
- 如何用程序调整开始菜单中快捷方式的排列顺序?
- 如何将db格式的数据导出到txt。
- 有用过 symbol ls5800 激光条码平台的请进
- Delphi调用SQLite3.dll出错
- 在 Chrome 下要写 JavaScript 不支持的功能时,使用什么技术?
var
a: integer;
i: string;
begin
dmdinge.aqde.SQL.Clear;
dmdinge.aqde.sql.add('select count(*) from sysobjects where id = object_id('''+trim(edit1.text)+''')';
dmdinge.aqde.open;
a:=dmdinge.aqde.RecordCount;
i:=edit1.Text;
if a=0 then
begin
dmdinge.aqde.SQL.clear;
dmdinge.aqde.sql.add('use saiyang');
dmdinge.aqde.sql.Add('CREATE TABLE '+i+'(材料牌号 char(20),PHR float)');
dmdinge.aqde.ExecSQL; frmaddrubber2.Show;
frmaddrubber2.Edit1.Text:=frmaddrubber.Edit1.Text;
frmaddrubber2.Edit1.Enabled:=false;
end
else
//messagedlg('库里已经有这个橡胶牌号了!',mterror,[mbok],0);
messagedlg(PChar('库里已经有这个'+i+'表了!'),mterror,[mbok],0);
end;调试有问题,自己改改吧。
试试下面的代码:
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('IF NOT EXISTS(');
SQL.Add(' SELECT 1 FROM [dbo].[sysobjects]');
SQL.Add(' WHERE [id]=OBJECT_ID(N''Table1'') AND [type]=N''U''');
SQL.Add(') CREATE TABLE [dbo].[Table1](');
SQL.Add(' [Id] [bigint] IDENTITY(1,1) NOT NULL,');
SQL.Add(' [Field1] [int] NOT NULL,');
SQL.Add(' [Field2] [varchar](8) NULL,');
SQL.Add(' PRIMARY KEY([Id] ASC)');
SQL.Add(')');
ExecSQL;
end;
数据库的类型,控件直接连接,还是三层连接。数据库驱动是什么方式?不同的方式,创建表不一样。