预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

标题用Python实现数据库编程wfh_178(原作)关键字PythonDatabaseprogramming数据库编程 <用PYTHON进行数据库编程>老巫2003.09.10 19September,2003 用PYTHON语言进行数据库编程,至少有六种方法可供采用.我在实际项目中采用,不但功能强大,而且方便快捷.以下是我在工作和学习中经验总结. 方法一:使用DAO(DataAccessObjects) 这个第一种方法可能会比较过时啦.不过还是非常有用的.假设你已经安装好了PYTHONWIN,现在开始跟我上路吧…… 找到工具栏上ToolsCOMMakePyutilities,你会看到弹出一个SelectLibrary的对话框,在列表中选择'MicrosoftDAO3.6ObjectLibrary'(或者是你所有的版本). 现在实现对数据的访问: #实例化数据库引擎 importwin32com.client engine=win32com.client.Dispatch("DAO.DBEngine.35") #实例化数据库对象,建立对数据库的连接 db=engine.OpenDatabase(r"c:\temp\mydb.mdb") 现在你有了数据库引擎的连接,也有了数据库对象的实例.现在就可以打开一个recordset了.假设在数据库中已经有一个表叫做'customers'.为了打开这个表,对其中数据进行处理,我们使用下面的语法: rs=db.OpenRecordset("customers") #可以采用SQL语言对数据集进行操纵 rs=db.OpenRecordset("select*fromcustomerswherestate='OH'") 你也可以采用DAO的execute方法.比如这样: db.Execute("delete*fromcustomerswherebalancetype='overdue'andname='bill'") #注意,删除的数据不能复原了 EOF等属性也是可以访问的,因此你能写这样的语句: whilenotrs.EOF: printrs.Fields("State").Value rs.MoveNext() 我最开始采用这个方法,感觉不错. 方法二:使用PythonDBAPI,PythonODBCmodules(youcanuseODBCAPIdirectly,butmaybeitisdifficultformostbeginner.) 为了在Python里面也能有通用的数据库接口,DB-SIG为我们提供了Python数据库.(欲知详情,访问DB-SIG的网站,HYPERLINK"http://www.python.org/sigs/db-sig"http://www.python.org/sigs/db-sig/).Mark Hammond的win32扩展PythonWin里面包含了这些API的一个应用-odbc.pyd.这个数据库API仅仅开放了一些有限的ODBC函数的功能(那不是它的目的),但是它使用起来很简单,而且在win32里面是免费的. 安装odbc.pyd的步骤如下: 1.安装python软件包: HYPERLINK"http://www.python.org/ftp/python/win32/python15.exe"http://www.python.org/download/ 2.安装MarkHammond的最新版本的pythonwin32扩展-PythonWin: HYPERLINK"http://www.python.org/windows/win32all"http://starship.python.net/crew/mhammond/ 3.安装必要的ODBC驱动程序,用ODBC管理器为你的数据库配置数据源等参数 你的应用程序将需要事先导入两个模块: dbi.dll-支持各种各样的SQL数据类型,例如:日期-dates odbc.pyd–编译产生的ODBC接口 下面有一个例子: importdbi,odbc#导入ODBC模块 importtime#标准时间模块 dbc=odbc.odbc(#打开一个数据库连接 'sample/monty/spam'#'数据源/用户名/密码' ) crsr=dbc.cursor()#产生一个cursor crsr.execute(#执行SQL语言 """ SELECTcountry_id,name,insert_change_date FROMcountry ORDERBYname """ ) print'Columndescriptions:'#显示行描述 forcolincr