📄 dbiopenfieldlist.html
字号:
<HTML>
<HEAD>
<TITLE>BDE API Examples (DbiOpenFieldList)</TITLE>
<META NAME="KEYWORDS" CONTENT="BDE, Borland">
<META NAME="DESCRIPTION" CONTENT="">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#000000" ALINK="#999999" VLINK="#666666">
<CENTER>
<TABLE CELLPADDING="4" CELLSPACING="4" BORDER="0" WIDTH="600">
<TR>
<TD ALIGN="CENTER" VALIGN="TOP" COLSPAN="1"><NOBR><A HREF="/"><IMG SRC="/images/bolus.gif" ALT="[View Borland Home Page]" BORDER="0"></A><A HREF="/products.html"><IMG SRC="/images/products.gif" ALT="[View Product List]" BORDER="0"></A><A HREF="/searchsite/"><IMG SRC="/images/search.gif" ALT="[Search This Web Site]" BORDER="0"></A><A HREF="/download.html"><IMG SRC="/images/downloads.gif" ALT="[View Available Downloads]" BORDER="0"></A><A HREF="/membership.html"><IMG SRC="/images/membership.gif" ALT="[Join Borland Online]" BORDER="0"></A><A HREF="/newsgroups/"><IMG SRC="/images/newsgroups.gif" ALT="[Enter Discussion Area]" BORDER="0"></A><A HREF="/feedback/"><IMG SRC="/images/feedback.gif" ALT="[Send Email To Webmaster]" BORDER="0"></A></NOBR></TD>
</TR>
<TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" COLSPAN="1"><font size=2>
<h2>BDE API Examples (DbiOpenFieldList)</h2>
Creates an in-memory table listing the fields in a specified table and their descriptions.
<hr size=2 noshade>
<h3>Display logical or physical field types for a table</H3>
This example uses the following input:<BR> <I>fDbiOpenFieldList(Table1, True, Memo1.Lines);</I><BR>
<PRE>procedure fDbiOpenFieldList(Table: TTable; Physical: Boolean; List: TStrings);
function BDEFieldIntToStr(FieldType: word): string;
begin
case FieldType of
fldUNKNOWN: result := 'unknown';
fldZSTRING: result := 'string'; { Null terminated string }
fldDATE: result := 'date'; { Date (32 bit) }
fldBLOB: result := 'BLOb'; { Blob }
fldBOOL: result := 'boolean'; { Boolean (16 bit) }
fldINT16: result := 'integer'; { 16 bit signed number }
fldINT32: result := 'long integer'; { 32 bit signed number }
fldFLOAT: result := 'float'; { 64 bit floating point }
fldBCD: result := 'BCD'; { BCD }
fldBYTES: result := 'bytes'; { Fixed number of bytes }
fldTIME: result := 'time'; { Time (32 bit) }
fldTIMESTAMP: result := 'timestamp'; { Time-stamp (64 bit) }
fldUINT16: result := 'unsigned int'; { Unsigned 16 bit integer }
fldUINT32: result := 'unsigned long int'; { Unsigned 32 bit integer }
fldFLOATIEEE: result := 'float IEEE'; { 80-bit IEEE float }
fldVARBYTES: result := 'varbytes'; { Length prefixed var bytes }
fldLOCKINFO: result := 'lockinfo'; { Look for LOCKINFO typedef }
fldCURSOR: result := 'Oracle cursor'; { For Oracle Cursor type }
{ Paradox types (Physical) }
fldPDXCHAR: result := 'alpha'; { Alpha (string) }
fldPDXNUM: result := 'numeric'; { Numeric }
fldPDXMONEY: result := 'money'; { Money }
fldPDXDATE: result := 'date'; { Date }
fldPDXSHORT: result := 'smallint'; { Short }
fldPDXMEMO: result := 'Memo BLOb'; { Text Memo (blob) }
fldPDXBINARYBLOB: result := 'Binary BLOb'; { Binary data (blob) }
fldPDXFMTMEMO: result := 'formatted BLOb'; { Formatted text (blob) }
fldPDXOLEBLOB: result := 'OLE BLOb'; { OLE object (blob) }
fldPDXGRAPHIC: result := 'Graphic BLOb'; { Graphics object (blob) }
fldPDXLONG: result := 'long integer'; { Long }
fldPDXTIME: result := 'time'; { Time }
fldPDXDATETIME: result := 'date time'; { Time Stamp }
fldPDXBOOL: result := 'boolean'; { Logical }
fldPDXAUTOINC: result := 'auto increment'; { Auto increment (long) }
fldPDXBYTES: result := 'bytes'; { Fixed number of bytes }
fldPDXBCD: result := 'BCD'; { BCD (32 digits) }
{ xBASE types (Physical) }
fldDBCHAR: result := 'character'; { Char string }
fldDBNUM: result := 'number'; { Number }
fldDBMEMO: result := 'Memo BLOb'; { Memo (blob) }
fldDBBOOL: result := 'logical'; { Logical }
fldDBDATE: result := 'date'; { Date }
fldDBFLOAT: result := 'float'; { Float }
fldDBLOCK: result := 'LOCKINFO'; { Logical type is LOCKINFO }
fldDBOLEBLOB: result := 'OLE BLOb'; { OLE object (blob) }
fldDBBINARY: result := 'Binary BLOb'; { Binary data (blob) }
fldDBBYTES: result := 'bytes'; { Only for TEMPORARY tables }
fldDBLONG: result := 'long integer'; { Long (Integer) }
fldDBDATETIME: result := 'date time'; { Time Stamp }
fldDBDOUBLE: result := 'double'; { Double }
fldDBAUTOINC: result := 'aut increment'; { Auto increment (long) }
else
Result := 'not found';
end;
end;
var
hFieldCur: hDBICur;
rslt: DBIResult;
Field: FLDDesc;
begin
List.Clear;
Check(DbiOpenFieldList(Table.DBHandle, PChar(Table.TableName), nil,
Physical, hFieldCur));
repeat
rslt := DbiGetNextRecord(hFieldCur, dbiNOLOCK, @Field, nil);
if rslt = DBIERR_NONE then
begin
List.Add(Format('Field #%d) Name:%s Type:%s', [Field.iFldNum,
Field.szName, BDEFieldIntToStr(Field.iFldType)]));
end;
until rslt <> DBIERR_NONE;
end;</PRE>
<!-- SF, Dec 3rd, 97 -->
<hr size=2 noshade>
<p>
<A HREF="/devsupport/bde/bdeapiex/index.html">Back to BDE API Reference Page</A>
</TD></TR>
<TR><TD ALIGN="LEFT" VALIGN="TOP" COLSPAN="1"><font size=2>
<HR SIZE="2" NOSHADE>
<FONT SIZE = 2><i><b>DISCLAIMER:</b> You have the right to use this technical information subject to
the terms of the No-Nonsense License Statement that you received with the Borland product to which
this information pertains.</FONT></i></B>
</dl>
</td>
</TR>
<TR>
<!-- THIS IS THE BOTTOM COPYRIGHT & UPDATED MESSAGE -->
<TD ALIGN="CENTER" VALIGN="TOP" COLSPAN="3"><FONT SIZE="2"><A HREF="/copyright.html">Trademarks & Copyright</A> © 1998 Borland International, Inc.
<SCRIPT LANGUAGE="JavaScript">
<!-- HIDE FROM OLD BROWSERS
// THIS WILL WRITE OUT THE LAST MODIFIED DATE
// YOU DO NOT NEED TO CHANGE ANYTHING HERE
function makeArray(arraySize) {
this.length = arraySize
return this
}
monthNames = new makeArray(12)
monthNames[1] = "January"
monthNames[2] = "February"
monthNames[3] = "March"
monthNames[4] = "April"
monthNames[5] = "May"
monthNames[6] = "June"
monthNames[7] = "July"
monthNames[8] = "August"
monthNames[9] = "September"
monthNames[10] = "October"
monthNames[11] = "November"
monthNames[12] = "December"
updated = new Date(document.lastModified)
theMonth = monthNames[updated.getMonth() + 1]
theDate = updated.getDate()
theYear = updated.getYear() + 1900
document.write("Last modified on " + theDate + "-" + theMonth + "-" + theYear + ".")
// END HIDING -->
</SCRIPT></FONT></TD>
</TR>
</TABLE>
</CENTER>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -