- 论坛徽章:
- 4
|
写了个遍历access的mdb的通用模块模糊查询一直搞不定
就放弃模糊查询了 我觉得不够完善 大家帮忙着改
- #==========================
- #The MIT License
- #Emal:ghostwwl@gmail.com
- # edit by Ghostwwl
- #==========================
- #-*- coding:unicode -*-
- import win32com.client
- class accessdb:
- def __init__(self,dbpath,dbname,dbpw='admin'):
- self.dbpath=dbpath
- self.dbname=dbname
- self.dbqw=dbpw
- self.db='Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=%s' % (dbpath+dbname+'.mdb')
- def open(self,sql):
- self.conn=win32com.client.Dispatch('ADODB.Connection')
- self.conn.Open(self.db)
- self.rs=win32com.client.Dispatch('ADODB.Recordset')
- self.sql=sql
- self.rs.Open('['+self.sql+']',self.conn,1,3)
- self.rs.MoveFirst()
- def printrcd(self):
- count=1
- record={}
- while not self.rs.EOF:
- fields=''
- recd=''
- for i in range(self.rs.Fields.count):
- record[self.rs.Fields(i).Name]=self.rs.Fields.Item(i).Value
- #for m in flds.keys():fields=fields+m+'|'
- fields = '|'.join(record.keys()) #感谢limodou提供的方法
- for n in record.values():recd=recd+unicode(n)+'|' #这个要unicode转换所以没用上面方法
- print "===================================="
- print fields
- print recd
- print "第%s条记录:" % (count)
- count+=1
- self.rs.MoveNext()
- self.conn.Close()
- def main():
- print """
- 此程序需要win32com模块
- 输入dbpath示例:c:/ or c:\\t
- 输入dbname示例:mark
- 输入dbtable示例:a
- 在输入dbname时不需要加.mdb直接输入数据库名
- """
- pth=raw_input("Enter the dbpath:")
- nam=raw_input("Enter the dbname:")
- #cfield=raw_input("模糊查询的条件字段:")
- #cval=raw_input("条件字段值:") 模糊查询 一直有问题 还是以后再改
- mysql="select * from %s " %(raw_input("Enter the table name:"))
- db=accessdb(pth,nam)
- db.open(mysql)
- db.printrcd()
-
- if __name__=="__main__":
- main()
-
-
复制代码
运行结果如下:
此程序需要win32com模块
输入dbpath示例:c:/ or c:\\
输入dbname示例:mark
输入dbtable示例:a
在输入dbname时不需要加.mdb直接输入数据库名
Enter the dbpath:f:/
Enter the dbname:mark
Enter the table name:a1
====================================
课程代号|准考证号|课程名称|缺考|姓名|成绩
0248|014403200462|国际金融法||周涛|60|
第1条记录:
====================================
课程代号|准考证号|课程名称|缺考|姓名|成绩
0228|014403200465|环境与资源保护法学||钱铎怀|53|
第2条记录:
[ 本帖最后由 ghostwwl 于 2006-2-15 23:18 编辑 ] |
|