读书人

怎么判断Access数据库的表中的字段是否

发布时间: 2012-02-14 19:19:19 作者: rapoo

如何判断Access数据库的表中的字段是否存在索引
用Delphi操作,
如何判断Access数据库的表中的字段是否存在索引?

[解决办法]

TCustomADODataSet.IndexFieldCount
可以判有多少索引,然后用
TCustomADODataSet.IndexFields 0..IndexFieldCount-1得到索引的字段
[解决办法]
使用这个函数可以获得Access索引,原帖地址:http://hi.baidu.com/sqldebug/blog/item/a7a7a41acc98060d34fa4127.html,供你参考

Delphi(Pascal) code
procedure GetIndexName(AIndexs: TStrings; const ATable: string; Connection: TADOConnection);varADODataSet: TADODataSet;FieldTable, FieldIndex, FieldColumn, FieldPrimary, FieldUnique: TField;sText: string;beginADODataSet := TADODataSet.Create(nil);try    Connection.OpenSchema(siIndexes, EmptyParam, EmptyParam, ADODataSet);    FieldTable := ADODataSet.FindField('TABLE_NAME');    FieldIndex := ADODataSet.FindField('INDEX_NAME');    FieldColumn := ADODataSet.FindField('COLUMN_NAME');    FieldPrimary := ADODataSet.FindField('PRIMARY_KEY');    FieldUnique := ADODataSet.FindField('UNIQUE');    ADODataSet.First;    while not ADODataSet.Eof do    begin      if SameText(FieldTable.AsString, ATable) then      begin        if FieldPrimary.AsBoolean then          sText := 'PrimaryKey'        else if FieldUnique.AsBoolean then          sText := 'Unique'        else          sText := '';        if sText <> '' then          sText := Format('%s (%s, %s)', [FieldIndex.AsString, FieldColumn.AsString, sText])        else          sText := Format('%s (%s)', [FieldIndex.AsString, FieldColumn.AsString]);        AIndexs.Add(sText);      end;      ADODataSet.Next;    end;finally    ADODataSet.Free;end;end; 

读书人网 >.NET

热点推荐