找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2880|回复: 0

关于django 项目使用oracle数据的取值问题

1

主题

1

帖子

1

积分

贫民

积分
1
lynn0823 发表于 2021-5-28 17:22:26 | 显示全部楼层 |阅读模式
创建了一个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)

结果如附图所示,还是没有从数据中获取到结果集,不知是何原因,不知哪位大神知道。还望不吝赐教!



结果.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表