asp后段如何调用python

在ASP中使用Python脚本:

1.首先安装好Active Python,它自带了win32扩展,省得自己装了;

2.按照Active的附带文档说明,在%Python_home%/lib/site_packages/win32comext/axscript/client/目录中找到pyscript.py,双击运行之,此步骤在IIS中安装Python解释引擎;

3.新建一个asp文件,文件头用<%@ LANGUAGE = Python %>,告诉IIS此文件采用Python脚本;

4.剩下的就是按python语法编程了。

5.例子:访问Access:

<%@ LANGUAGE = Python %>
<!--#include file="pyDB4Jet.asp"-->
<%
#创建数据访问类的实例
myax=Cdb4Jet()
调用数据访问类的查询方法,返回结果赋给rs
rs=myax.query('select * from [user]')
#以下这段注掉的代码用来遍历打印取回来数据的字段
#flds_dict={}
#for x in range(rs.Fields.Count):
# flds_dict[x]=rs.Fields.Item(x).Name
# Response.write(flds_dict[x] + "<br>")
#遍历取回来的数据
while not myax.rs.EOF:
#把每行的第三个字段值输出(字段序号从0开始)
Response.write(rs.Fields[2].Value+"<BR>")
#移动到下一行
myax.rs.MoveNext()
#重新移回第一行
myax.rs.MoveFirst()
#再次遍历
while not myax.rs.EOF:
#输出每行的第二个字段值
Response.write(rs.Fields[1].Value+"<br>")
#移动到下一行
myax.rs.MoveNext()
%>

比较遗憾的是在Python中访问Recordset时我不知道怎么用字段名,只会用字段序号。

另外一个要注意的是访问access的表时必须用“[]”括起来。

6.上例中用到的access访问类:

<%
# -*-coding:UTF-8-*- #这一句告诉python用UTF-8编码
# COMMENT: Python的ACCESS访问模块
#导入win32com模块
import win32com
#数据访问类定义
class Cdb4Jet:
#构造函数,python的构造函数不同于C++/C#或Java的构造函数,在执行到__init__方法时,实例已经存在
def __init__(self):
#win32com.client.Dispatch用于创建COM对象
#创建ADO的Connection数据连接对象
self.conn=win32com.client.Dispatch(r'ADODB.Connection')
#DSN保存数据库的访问连接串
self.DSN='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=E:\wwwroot\csip\#news.mdb;'
#打开数据库
self.conn.Open(self.DSN)
#创建ADO的Recordset数据集对象
self.rs=win32com.client.Dispatch(r'ADODB.Recordset')
#定义查询方法
def query(self,sql):
#执行Recordset对象的Open方法,从数据库取回数据集
self.rs.Open(sql,self.conn,1,1)
#返回数据集给调用者
return self.rs
#定义非查询方法
def execute(self,sql):
#直接调用Connection对象的execute方法执行sql语句,并把执行结果返回给调用者
return self.conn.execute(sql)
%>
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hakesashou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值