Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
61
venv/Lib/site-packages/win32com/test/daodump.py
Normal file
61
venv/Lib/site-packages/win32com/test/daodump.py
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# import dao3032
|
||||
# No longer imported here - callers responsibility to load
|
||||
#
|
||||
import win32com.client
|
||||
|
||||
def DumpDB(db, bDeep = 1):
|
||||
# MUST be a DB object.
|
||||
DumpTables(db,bDeep)
|
||||
DumpRelations(db,bDeep)
|
||||
DumpAllContainers(db,bDeep)
|
||||
|
||||
def DumpTables(db, bDeep = 1):
|
||||
for tab in db.TableDefs:
|
||||
tab = db.TableDefs(tab.Name) # Redundant lookup for testing purposes.
|
||||
print("Table %s - Fields: %d, Attributes:%d" % (tab.Name, len(tab.Fields), tab.Attributes))
|
||||
if bDeep: DumpFields(tab.Fields)
|
||||
|
||||
def DumpFields(fields):
|
||||
for field in fields:
|
||||
print(" %s, size=%d, reqd=%d, type=%d, defVal=%s" % (field.Name, field.Size, field.Required, field.Type, str(field.DefaultValue)))
|
||||
|
||||
def DumpRelations(db, bDeep = 1):
|
||||
for relation in db.Relations:
|
||||
print("Relation %s - %s->%s" % (relation.Name, relation.Table, relation.ForeignTable))
|
||||
|
||||
#### This dont work. TLB says it is a Fields collection, but apparently not!
|
||||
#### if bDeep: DumpFields(relation.Fields)
|
||||
|
||||
def DumpAllContainers(db, bDeep = 1):
|
||||
for cont in db.Containers:
|
||||
print("Container %s - %d documents" % (cont.Name, len(cont.Documents)))
|
||||
if bDeep: DumpContainerDocuments(cont)
|
||||
|
||||
def DumpContainerDocuments(container):
|
||||
for doc in container.Documents:
|
||||
import time
|
||||
timeStr = time.ctime(int(doc.LastUpdated))
|
||||
print(" %s - updated %s (" % (doc.Name, timeStr), end=' ')
|
||||
print(doc.LastUpdated,")") # test the _print_ method?
|
||||
|
||||
def TestEngine(engine):
|
||||
import sys
|
||||
if len(sys.argv)>1:
|
||||
dbName = sys.argv[1]
|
||||
else:
|
||||
dbName = "e:\\temp\\TestPython.mdb"
|
||||
db = engine.OpenDatabase(dbName)
|
||||
DumpDB(db)
|
||||
|
||||
def test():
|
||||
for progid in ("DAO.DBEngine.36", "DAO.DBEngine.35", "DAO.DBEngine.30"):
|
||||
try:
|
||||
ob = win32com.client.gencache.EnsureDispatch(progid)
|
||||
except pythoncom.com_error:
|
||||
print(progid, "does not seem to be installed")
|
||||
else:
|
||||
TestEngine(ob)
|
||||
break
|
||||
|
||||
if __name__=='__main__':
|
||||
test()
|
||||
Loading…
Add table
Add a link
Reference in a new issue