码迷,mamicode.com
首页 > 数据库 > 详细

perl链接oracle数据库学习【一】:循环控制

时间:2015-02-12 18:39:39      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:python链接oracle数据库学习【一】:循环控制

#!d:/Python/bin/python
__author__ = ‘stone‘
#引入oracle支持包
import cx_Oracle
import traceback
from pip.backwardcompat import raw_input
#定义函数
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
def querysal(conn, empnum):
    cur=conn.cursor()
    #执行语句
    cur.prepare(‘select * from emp where empno = to_number(:id)‘)
    #传递绑定变量到对应的语句
    cur.execute(None, {‘id‘: empnum})
    #print(cur)
    #将所有选定的行放入到res
    res = cur.fetchall()
    #  print(len(res))
    #迭代打印出查询到的内容
    for r in res:
        print("姓名:"+str(r[1])+" 工号:"+str(r[0])+" 薪水:"+str(r[5])+" 月奖金:"+str(r[6])+"")
    if(len(res)==0):
        cur.close()
        return False
    cur.close()
    return True
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conn=cx_Oracle.connect(‘scott/tiger@172.15.36.225/orcl‘)
while(1):
    empnum=raw_input("请数据你的工号【0:退出】:").strip("\n")
    if(empnum.isdigit()):#如果输入值为数字,则执行程序
        if(empnum is not "0"):#如果输入值不为0,则执行程序
            if(querysal(conn,empnum)):#执行查询程序
                continue#执行成功继续循环
            else:
                print("工号不存在")#执行失败时提示工号不存在
        else:#输入结果为0,退出程序
            break  #跳出循环,并结束脚本
    else:#如果输入不为数字,则提示输入数字,并继续循环
        print("请输入四位数工号")
        continue
print("脚本结束")
conn.close()

循环和控制部分,主要是涉及到if elif else 和while的使用。比较上一个程序,添加了,更多的控制,防止出现异常。因为empno字段是number型,添加控制主要是为了防止输入字符型,导致程序失败。

还有就是在python中,不再使用(),[],{}来划分语句的级别,而使用tab(或四个空格)来控制程序的结构。

执行示例

逻辑
   
输入员工的员工号,查询对应的工资和奖金的信息。员工号为四位数的数字字符串。

方式一,调用系统默认的python

技术分享

方式二,使用python文件都指定的python文件位置运行文件

技术分享

perl链接oracle数据库学习【一】:循环控制

标签:python链接oracle数据库学习【一】:循环控制

原文地址:http://wulvj.blog.51cto.com/1083445/1614111

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!