|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- """ db_print.py -- a simple demo for ADO database reads."""
-
- import sys
-
- import adodbapi.ado_consts as adc
-
- cmd_args = ("filename", "table_name")
- if "help" in sys.argv:
- print("possible settings keywords are:", cmd_args)
- sys.exit()
-
- kw_args = {} # pick up filename and proxy address from command line (optionally)
- for arg in sys.argv:
- s = arg.split("=")
- if len(s) > 1:
- if s[0] in cmd_args:
- kw_args[s[0]] = s[1]
-
- kw_args.setdefault(
- "filename", "test.mdb"
- ) # assumes server is running from examples folder
- kw_args.setdefault("table_name", "Products") # the name of the demo table
-
- # the server needs to select the provider based on his Python installation
- provider_switch = ["provider", "Microsoft.ACE.OLEDB.12.0", "Microsoft.Jet.OLEDB.4.0"]
-
- # ------------------------ START HERE -------------------------------------
- # create the connection
- constr = "Provider=%(provider)s;Data Source=%(filename)s"
- import adodbapi as db
-
- con = db.connect(constr, kw_args, macro_is64bit=provider_switch)
-
- if kw_args["table_name"] == "?":
- print("The tables in your database are:")
- for name in con.get_table_names():
- print(name)
- else:
- # make a cursor on the connection
- with con.cursor() as c:
- # run an SQL statement on the cursor
- sql = "select * from %s" % kw_args["table_name"]
- print('performing query="%s"' % sql)
- c.execute(sql)
-
- # check the results
- print(
- 'result rowcount shows as= %d. (Note: -1 means "not known")' % (c.rowcount,)
- )
- print("")
- print("result data description is:")
- print(" NAME Type DispSize IntrnlSz Prec Scale Null?")
- for d in c.description:
- print(
- ("%16s %-12s %8s %8d %4d %5d %s")
- % (d[0], adc.adTypeNames[d[1]], d[2], d[3], d[4], d[5], bool(d[6]))
- )
- print("")
- print("str() of first five records are...")
-
- # get the results
- db = c.fetchmany(5)
-
- # print them
- for rec in db:
- print(rec)
-
- print("")
- print("repr() of next row is...")
- print(repr(c.fetchone()))
- print("")
- con.close()
|