动态建立表
create good
(gno char(6) contraint congno primary key,
 gname char(6),
 gnum number(4),
 gprice number(3),
 gowner char(10),
 sno char(4) constraint conuser references store(sno))
这段代码如何才能实现,用什么控件可以输入

解决方案 »

  1.   

    用Query控件,把上述代码做为它的SQL语句即可。
      

  2.   

    sqlstr:='create good
    (gno char(6) contraint congno primary key,
     gname char(6),
     gnum number(4),
     gprice number(3),
     gowner char(10),
     sno char(4) constraint conuser references store(sno))
    'AdoCommand.Commandtext:=SqlStr;
    AdoCommand.Execute
      

  3.   

    把那段话作为一个string写到query.sql.text里即可。
    然后query.execute
      

  4.   

    如果你不删除,只好create一次哦
      

  5.   

    procedure Tform1.CreateDb(DbName: string);
    var
     Dbnew:OleVariant;
    begin
     if FileExists(DbName) then
     begin
       if MessageBox(Application.Handle,PChar('数据库 '
         + DbName + ' 已存在!'+ #13#10 +'是否覆盖?'),
         '警告',MB_YESNO + MB_ICONWARNING) = idNo then exit;
       if not DeleteFile(DbName) then
       begin
         MessageBox(Application.Handle,
           PChar('不能删除数据库:' + DbName),
           '错误',MB_OK + MB_ICONERROR);
         exit;
       end;
     end;dbnew:=CreateOleObject('ADOX.Catalog');
    dbnew.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DbName);
    adoq1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
     +dbname+';Persist Security Info=False';
    adoq1.Close;
    adoq1.SQL.Text := 'Create Table 测试 (ID INT not null,'
      +'姓名 char(8) not null,年龄 INT not null)';
    adoq1.ExecSQL;
    adoq1.Close;
    adoq1.SQL.Text := 'Create UNIQUE Index IDIndex ON 测试 (ID)';
    adoq1.ExecSQL;
    adoq1.Close;
    adoq1.SQL.Text := 'Create Index xmIndex ON 测试 (姓名)';
    adoq1.ExecSQL;
    adoq1.Close;
    adoq1.SQL.Text := 'Create Index nlIndex ON 测试 (年龄)';
    adoq1.ExecSQL;
    MessageBox(Application.Handle,
     PChar('数据库:' + DbName+'创建完成'),
     'OK',MB_OK + MB_ICONWARNING);
    end;
      

  6.   

    将下面的SQL语句加入到Query中,
    然后Exceute;
    不要告诉我你不会加入Query的Sql!
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TABLE1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[TABLE1]
    GOCREATE TABLE [dbo].[TABLE1] (
    [gno] [char] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [gname] [char] (6) COLLATE Chinese_PRC_CI_AS NULL ,
    [gnum] [numeric](18, 0) NULL ,
    [gprice] [numeric](18, 0) NULL ,
    [gowner] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
    [sno] [char] (4) COLLATE Chinese_PRC_CI_AS NULL 
    ) ON [PRIMARY]
    GO