¦b¶}µo
¸ê®Æ®w³nÅ骺¹Lµ{¤¤¡A¥Ñ©ó¹ê»Ú»Ý¨D¤£Â_µo¥ÍÅܤơA¸ê®Æ®wµ²ºc¤]±NÀH¤§§ïÅÜ¡A³o·|µ¹¤åÀɧó·s¤u§@±a¨Ó«Ü¤j§xÃø¡C¦pªG¯à°÷¥Î³nÅé¦Û°ÊÀò±o¸ê®Æ®wªºµ²ºc¸ê°T¨Ã¥Í¦¨³ø§iÀÉ¡A±N´î»´³nÅ骺¤åÀɤu§@¶q¡C
1 TSession¹ï¶H
¬°¤FºÞ²zÀ³¥Îµ{¦¡»P¸ê®Æ®w¨t²Îªº¦h«³s±µ¡ADelphi´£¨Ñ¤FTSessionª«¥ó¡CDelphi¤¤ªº¸ê®Æ³X°Ýª«¥ó(Data Access Object)§¡¥]§tSessionÄݩʡA¥Î¨Ó«ü¦V»P¤§¹ïÀ³ªºTSessionª«¥ó¡C¦pªGÀ³¥Îµ{¦¡»Ýn¦P®É«Ø¥ß¹ï¸ê®Æ®w¨t²Î(¤×¨ä¬OBDE¸ê®Æ®w)ªº¦hÓ³s±µ¡A´N¥²¶·©w¸q¦hÓTSessionª«¥ó¡AÄݩ󤣦P³s±µªº¸ê®Æ³X°Ýª«¥óªºSessionÄݩʤ£¯à¬Û¦P¡A§_«h±NµLªk¦P®É¨Ï¥Î¡C
¦b¸ê®Æ®wÀ³¥Îµ{¦¡¹B¦æ®É¡ADelphi·|¦Û°Ê¥Í¦¨¤@ӯʬÙTSessionª«¥ó¡A¦W¦r¬°Session¡A¸ê®Æ³X°Ýª«¥ó¦b¯Ê¬Ù±¡ªp¤U§¡»P¤§¬Û³s¡C
TSessionª«¥ó°£¤F¦Û°ÊºÞ²z¸ê®Æ®w³s±µ¥~¡AÁÙ¯à°÷¨ú±o¸ê®Æ®w¸ê°T¡C¤U±´N¤À§O¤¶²Ð³o¤è±ªº¨ç¼Æ¡C
2 Àò¨ú¸ê®Æ®w§O¦W¸ê°T
TSessionª«¥ó¦bÀò¨ú¸ê®Æ®w§O¦W¤è±¦³3Ó¨ç¼Æ/¹Lµ{¡G
¥H¤U¬O¤Þ¥Î¤ù¬q¡G
procedure TSession.GetAliasNames(List: TStrings);
procedure TSession.GetAliasParams(const AliasName: string; List: TStrings);
function TSession.GetAliasDriverName(const AliasName: string): string;
GetAliasNames¥Î¨ÓÀò±o©Ò¦³ªºBDE§O¦W¦WºÙ¡Aµ²ªG«O¦s¦bÅܼÆList¤¤;GetAliasParams¥Î¨ÓÀò±o¬YÓBDE§O¦Wªº°Ñ¼Æ¡Aµ²ªG«O¦s¦bÅܼÆList¤¤;GetAliasDriverName¥Î¨Ó¨ú±o¬YÓBDE§O¦W¨Ï¥Îªº¸ê®Æ®wÅX°Êµ{¦¡ªº¦W¦r¡C
³o3Ó¨ç¼Æ¤£¤Ó½ÆÂø¡A´N¤£¦h¥[¤¶²Ð¤F¡C¤@¯ë±¡ªp¤U¡A§ÚÌ¥u»Ýn¨Ï¥ÎGetAliasNames§Y¥i¡C
3 Àò¨ú¸ê®Æªí¸ê°T
¦bª¾¹D¤F¸ê®Æ®w§O¦W«á¡A¦p¦ó¨ú¥X¸Ó§O¦W¹ïÀ³¸ê®Æ®w¤¤¥]§tªº¸ê®Æªí©O?¥i¥H¨Ï¥ÎTSessionª«¥ó¤¤ªº GetTableNames¹Lµ{¡C¸Ó¹Lµ{´yz¦p¤U¡G
¥H¤U¬O¤Þ¥Î¤ù¬q¡G
procedure TSession.GetTableNames(const DatabaseName, Pattern: string;
¦U°Ñ¼Æ·N¸q¦p¤U¡G
DatabaseName¡G¸ê®Æ®w§O¦W;
Pattern¡G¿zÀ˵{¦¡¡A¥Î¨Ó¹LÂoµ²ªG¡A¥i¥H¨Ï¥Î³q°t²Å¡C¤ñ¦p¡§*.dbf¡¨,¡§t*¡¨ µ¥¡C¦pªG¬°ªÅ¦r¦ê¡A«hªí¥Ü¤£»Ýn¹LÂo;
Extensions¡G¬°¥¬ªL¶q¡Aªí¥Ü¬O§_Åã¥Ü¸ê®Æªí°ÆÀɦW¡C¸Ó°Ñ¼Æ¥u¹ïDBF©MPar
adox¸ê®Æ®w¦³®Ä;
SystemTables¡G¬°¥¬ªL¶q¡Aªí¥Ü¬O§_Åã¥Ü¨t²Î¸ê®Æªí;
List¡G¬°ªð¦^µ²ªG¡Aµ²ªG«ö¦r¥À¶¶§Ç±Æ§Ç¡C
4 Àò¨ú¸ê®ÆÄæ©M¯Á¤Þ¸ê°T ¦b¨ú±o¤F¸ê®Æªí¸ê°T«á¡AÀ³¨Ï¥ÎTTableª«¥ó³X°Ý¸Ó¸ê®Æªíªº¨ãÅé¸ê°T¡C¹ïÀ³¨ç¼Æ¦p¤U¡G
¥H¤U¬O¤Þ¥Î¤ù¬q¡G
pro<!-- ¥¿¤å¶ºôµe¤¤µe¼s§i -->cedure TDataSet.GetFieldNames(List: TStrings);
procedure TTable.GetIndexNames(List: TStrings);
GetFieldNames¥Î¨Ó¨ú±o¸ê®Æªí¤¤ªº¦UÓ¥\¯àÅܼƦWºÙ¡AGetIndexNames¥Î¨Ó¨ú±o¸ê®Æªí¤¤ªº¦UÓ¯Á¤Þ¦W¡C
¥t¥~¡A¥i¥H¶i¤@¨B¨Ï¥ÎTDataset©MTTable¤¤ªº¨âÓÄÝ©ÊTDataSet.FieldDefs.Items[] ©M TTable.IndexDefs.Items[]¨Ó³X°Ý¨ãÅ骺¸ê®ÆÄæ¸ê°T©M¯Á¤Þ¸ê°T¡C¥¦Ì¤À§O¬O¥ÑTFieldDef©MTIndexDef²Õ¦¨ªº°}¦C¡C
TFieldDef´yz¦p¤U¡G
TIndexDef´yz¦p¤U¡G
TFieldType©w¸q¦p¤U¡G
¥H¤U¬O¤Þ¥Î¤ù¬q¡G
TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean,
ftFloat,ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes,
ftAutoInc,ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle,
ftTypedBinary,ftCursor);
TIndexOptions©w¸q¦p¤U¡G
¥H¤U¬O¤Þ¥Î¤ù¬q¡G
TIndexOptions = set of (ixPrimary, ixUnique, ixDescending, ixExpression, ixCaseInsensitive);
¥¦Ìªº¨ãÅé·N¸q¥i¥H°Ñ¨£DelphiÀ°§U¡C