如题
谁解决了和这个问题一并结分 共150
http://community.csdn.net/Expert/TopicView1.asp?id=3221794
多谢了

解决方案 »

  1.   

    CREATE TABLE "employee.dbf"
    (
    LAST_NAME CHAR(20),
    FIRST_NAME CHAR(15),
    SALARY NUMERIC(10,2),
    DEPT_NO SMALLINT
    )
      

  2.   

    CREATE TABLE "employee.dbf"
    (
    LAST_NAME CHAR(20),
    FIRST_NAME CHAR(15),
    SALARY NUMERIC(10,2),
    DEPT_NO SMALLINT
    )
      

  3.   

    搂主试试下面函数Example 1: Pack a Paradox or dBASE table.This example will pack a Paradox or dBASE table therfore removing already deleted rows in a table. This function will also regenerate all out-of-date indexes (maintained indexes). This example uses the following input:  PackTable(Table1)The function is defined as follows: // Pack a Paradox or dBASE table
    // The table must be opened execlusively before calling this function...
    procedure PackTable(Table: TTable);
    var
      Props: CURProps;
      hDb: hDBIDb;
      TableDesc: CRTblDesc;
    begin
      // Make sure the table is open exclusively so we can get the db handle...
      if not Table.Active then
        raise EDatabaseError.Create('Table must be opened to pack');
      if not Table.Exclusive then    raise EDatabaseError.Create('Table must be opened exclusively to pack');  // Get the table properties to determine table type...
      Check(DbiGetCursorProps(Table.Handle, Props));  // If the table is a Paradox table, you must call DbiDoRestructure...
      if Props.szTableType = szPARADOX then begin
        // Blank out the structure...
        FillChar(TableDesc, sizeof(TableDesc), 0);
        // Get the database handle from the table's cursor handle...    Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
        // Put the table name in the table descriptor...
        StrPCopy(TableDesc.szTblName, Table.TableName);
        // Put the table type in the table descriptor...
        StrPCopy(TableDesc.szTblType, Props.szTableType);
        // Set the Pack option in the table descriptor to TRUE...
        TableDesc.bPack := True;
        // Close the table so the restructure can complete...
        Table.Close;
        // Call DbiDoRestructure...    Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
      end
      else
        // If the table is a dBASE table, simply call DbiPackTable...
        if (Props.szTableType = szDBASE) then
          Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, True))
        else
          // Pack only works on PAradox or dBASE; nothing else...
          raise EDatabaseError.Create('Table must be either of Paradox or dBASE ' +        'type to pack');  Table.Open;end;
      

  4.   

    这算什么呀你以为我在oracle环境下?!
      

  5.   

    adocommand指向DBF:
    ADOCOMMAND1.COMMANDTEXT:='PACK 123.DBF';
    ADOCOMMAND1.EXECUTE;
    再试一下
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
      with Query1 do 
      begin 
        DatabaseName := 'DBDemos'; 
        with SQL do 
        begin 
          Clear; 
          Add('CREATE TABLE "Tbl.dbf" (ID CHAR(5),'); 
          Add('Name CHAR(255),'); 
          Add('PRIMARY KEY(ID))'); 
          ExecSQL; 
          Clear; 
          Add('CREATE INDEX ByName ON "Tbl.dbf" (Name)'); 
          ExecSQL; 
        end; 
      end; 
    end; 
      

  7.   

    jinjazz(三个小时上下班) 
    多谢这位高手,感谢你为我这两个问题多次的回答,再次表示感谢!下午吃完饭后结帐!