关于Dao 的问题,请教大家(100)

  • 主题发起人 主题发起人 wangbinsoft
  • 开始时间 开始时间
W

wangbinsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
最近用开发一个小软件,其中用到了Dao,在编程时要获取数据库字段的标题和数据类型,遇到如下问题,万望大家不吝赐教,谢谢 编程环境:windowsXP delphi7 access2003 大致代码如下:var dbEngine, db, fd: OleVariant; i, j : Integer; sname, scaption : string;begin dbEngine := CreateOleObject('DAO.DBEngine.36'); try db := dbEngine.OpenDatabase('system1.mdb', false,false,';pwd=gjjfcpdrc2@@6'); for i := 0 to db.TableDefs['hz'].Fields.Count - 1 do begin fd := db.TableDefs['hz'].Fields.Item; if fd.Properties.Item['type']= 'dbSingle' then begin for j := 0 to fd.Properties.Count - 1 do if fd.Properties.Item[j].Name = 'Caption' then begin sname := fd.Name; scaption := fd.Properties.Item['Caption']; lst1.items.Add(sname + '.Caption = ' + scaption); break; end; end; end; finally dbEngine:=UnAssigned; db:=UnAssigned; fd:=UnAssigned; end; 运行时 if fd.Properties.Item['type']= dbSingle then 这里出错应该是dbsingle 没有声明的缘故,但我查遍网上,没有找到 dbsingle 常量的声明,大家帮帮忙啊
 
问题已解决,首先,应该在search 路径中添加$Delphi/ocx/server ,然后程序单元中引用daoxp单元。还有,if fd.Properties.Item['type']= dbSingle 这句不对,应该为 if fd.type= dbSingle
 
呵呵~~楼主好功力啊~~
 
后退
顶部