创建了一个Django项目用来做几个NC报表,NC系统采用的oracle数据库,报表只是从库中查询数据在页面呈现,因此在采用了直接使用cx_oracle来处理数据查询,写好以下代码后
start_date = req.GET['startdate']
end_date = req.GET['enddate']
pk_org = req.GET['orglist']
print(start_date)
print(end_date, pk_org)
# 连接数据库
conn = Cxo.connect('TEST/TEST@192.168.0.252:1521/orcl')
# 建立游标
cur = conn.cursor()
# 执行查询
date_now = datetime.datetime.now()
aaa = []
sql_str=get_sql(start_date, end_date, pk_org)
# print(sql_str)
yue_querylist = cur.execute(sql_str)
data_ye = yue_querylist.fetchall()
调试代码发现yue_querylist值为空 特此将以上代码在命令行中执行发现从数据库能返回值给到yue_querylist 经他人指点可直接使用django的orm来处理,因此调整代码,在settings.py中设置数据库连接
然后在views.py中引入 from django.db import connection 然后调整代码 def get_data(req): #从前端获取查询参数 start_date = req.GET['startdate'] end_date = req.GET['enddate'] pk_org = req.GET['orglist'] print(start_date) print(end_date, pk_org) # 建立游标 cur = connection.cursor() #获取当前时间 date_now = datetime.datetime.now() aaa = [] #获取查询SQL语句 sql_str=get_sql(start_date, end_date, pk_org) #执行查询 cur.execute(sql_str) print(cur.execute(sql_str)) #获取所有查询结果集 data_ye = cur.fetchall() print(data_ye) 结果如附图所示,还是没有从数据中获取到结果集,不知是何原因,不知哪位大神知道。还望不吝赐教!
|