我想用DELPHI查询ASSECC库里的表的信息:字段名称,数据类型,说明等.可是字段说明我不知道怎么查询,请各位高手教下
  这是我写的代码:
procedure TForm1.Button1Click(Sender: TObject);
beginlistbox1.Items.Clear;
adoconnection1.Connected:=false;
adoconnection1.Connected:=true;
adodataset1.Active:=false;
adoconnection1.OpenSchema(siColumns,emptyparam,emptyparam,adodataset1);
adodataset1.Active:=true;
while not adodataset1.Eof do
  begin
           listbox1.Items.add(adodataset1.FieldByName('table_name').AsString+'               '+
                                adodataset1.fieldbyname('COLUMN_NAME').AsString+ '            '+
                                adodataset1.fieldbyname('DATA_TYPE').AsString) ;          adodataset1.Next;
  end;
end;

解决方案 »

  1.   

    取得 Access 表中的字段结构
    type
      TFieldDef = record
        Name: string;
        Types,
        Size: Longint;
        Description: string;
      end;  TFieldDefs = array of TFieldDef;procedure GetFieldDefs(const DBName, TableName: string; out FieldDefs: TFieldDefs);
    var
      DBEngine, DB: OleVariant;
      I: Longint;
    begin
      try
        DBEngine := CreateOleObject('DAO.DBEngine.36');
        DB := DBEngine.OpenDatabase(DBName);
        SetLength(FieldDefs, Longint(DB.TableDefs[TableName].Fields.Count));
        for I := Low(FieldDefs) to High(FieldDefs) do
        begin
          FieldDefs[I].Name := DB.TableDefs[TableName].Fields[I].Name;
          FieldDefs[I].Types := DB.TableDefs[TableName].Fields[I].Type;
          FieldDefs[I].Size := DB.TableDefs[TableName].Fields[I].Size;
          try
            FieldDefs[I].Description := DB.TableDefs[TableName].Fields[I].Properties['Description'].Value;
          except
            FieldDefs[I].Description := '';
          end;
        end;
      finally
        DB := Unassigned;
        DBEngine := Unassigned;
      end;
    end;