最近正在学SQL,不知用SQL在DELPHI里怎么动态创建数据库,
格式好象为这样,但在我这里编译都通不过,请指点!
with Query do
begin
SQL.add(CREATE TABLE employee
(
  Last_Name CHAR(20) DESCRIPTION "Last Name",
  First_Name CHAR(15) DESCRIPTION "First Name",
  Hire_Date DATE DESCRIPTION "Hire Date" DEFAULT "CURRENT_DATE" 
  Salary NUMERIC(10,2) DESCRIPTION "Salary" DEFAULT "0.00",
  Dept_No SMALLINT DESCRIPTION "Dept #",
  NOCASE PRIMARY KEY (Last_Name, First_Name) COMPRESS FULL
)')
end;

解决方案 »

  1.   

    SQL.add('CREATE TABLE employee
    (
      Last_Name CHAR(20) DESCRIPTION "Last Name",
      First_Name CHAR(15) DESCRIPTION "First Name",
      Hire_Date DATE DESCRIPTION "Hire Date" DEFAULT "CURRENT_DATE" 
      Salary NUMERIC(10,2) DESCRIPTION "Salary" DEFAULT "0.00",
      Dept_No SMALLINT DESCRIPTION "Dept #",
      NOCASE PRIMARY KEY (Last_Name, First_Name) COMPRESS FULL
    )
    ');
    Query .execsql;
      

  2.   

    with Query do
    begin
    close;
    sql.clear;
    SQL.add('CREATE TABLE employee
    (
      Last_Name CHAR(20) DESCRIPTION "Last Name",
      First_Name CHAR(15) DESCRIPTION "First Name",
      Hire_Date DATE DESCRIPTION "Hire Date" DEFAULT "CURRENT_DATE" 
      Salary NUMERIC(10,2) DESCRIPTION "Salary" DEFAULT "0.00",
      Dept_No SMALLINT DESCRIPTION "Dept #",
      NOCASE PRIMARY KEY (Last_Name, First_Name) COMPRESS FULL
    )');
    execsql;
    end;
      

  3.   

    procedure TForm1.ExecADOQuery(ADOqry: TADOQuery; SQL: String;IsSelect: Boolean);
    begin
      ADOqry.Close;
      ADOqry.SQL.Clear;
      ADOqry.SQL.Add(sql);
      ADOqry.Connection:=adocnMD;
      if IsSelect then
        ADOqry.Open
      else
        ADOqry.ExecSQL;
    end;
      

  4.   

    procedure TfrmTreeview.ExecQry(qry: TQuery; strSQL: string;
      IsSelect: Boolean);
    begin
      qry.DatabaseName:=strDBName;
      qry.SQL.Clear;
      qry.SQL.Add(strSQL);
      qry.ExecSQL;
    end;
      

  5.   

    我的数据库为dbisam,有query控件!
      

  6.   

    试试:
    query.open();
    Query.sql.clear();
    query.sql.add('create table aa (a int,b int)');
    query.execsql();
      

  7.   

    用这个试试:
    query.open();
    Query.sql.clear();
    query.sql.add('create table aa (a int,b int)');
    query.execsql();
    可以通过编译,但是运行的进修出错,
     提示这个No SQL statement available
      

  8.   

    哦!是我写错!
    query.close();
    Query.sql.clear();
    query.sql.add('create table aa (a int,b int)');
    query.execsql();
      

  9.   

    可以了,如果我要自定义字段名
    用一个edit来输入自定义字段名代码应怎么写呀
      

  10.   

    query.close();
    Query.sql.clear();
    query.sql.add('create table aa ('+edit1.text+' int,b int)');
    query.execsql();
      

  11.   

    谢谢,我马上结帐,如果不介意的话交个朋友,下面是我的另一个问题有兴趣的去看看,是查询方面的。
    http://expert.csdn.net/Expert/topic/1378/1378711.xml?temp=.336117