Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42523
  • 博文数量: 6
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-29 15:07
个人简介

Linux C/C++ Python

文章分类

全部博文(6)

文章存档

2014年(6)

我的朋友

分类: WINDOWS

2014-06-04 11:27:04

带参数的查询:

 

>>> named_params = {'dept_id':50, 'sal':1000} 

>>> query1 = cursor.execute('SELECT * FROM employees 

 

  

WHERE department_id=:dept_id AND salary>:sal', named_params) 

>>> query2 = cursor.execute('SELECT * FROM employees 

 

  

WHERE department_id=:dept_id AND salary>:sal', dept_id=50, sal=1000) 

这种是名字参数,还可以按位置参数:

 

r1 = cursor.execute('SELECT * FROM locations 

 

 WHERE country_id=:1 AND city=:2', ('US', 'Seattle')) 

注意:

 

当只有一次参数的时候,也要把它写成元组的形式,比如

 

Cursor.execute(‘select name from user where id=:1’,(login_Id,))

 

千万要注意,

login_id

后面还带有一个逗号,如果没有逗号,他其实就是一个数

据对象,

但是当他后面有个逗号的时候,

他就变成了元组的一个数据项,

千万要

记住啊,我就是在这里徘徊了很久。!

 带参数的查询: 
named_params = {'dept_id':50, 'sal':1000} 
 query1 = cursor.execute('SELECT * FROM employees  
  WHERE department_id=:dept_id AND salary>:sal', named_params)
query2 = cursor.execute('SELECT * FROM employees  
  WHERE department_id=:dept_id AND salary>:sal', dept_id=50, sal=1000)
这种是名字参数,还可以按位置参数: 
r1 = cursor.execute('SELECT * FROM locations   WHERE country_id=:1 AND city=:2', ('US', 'Seattle')) 注意: 
当只有一次参数的时候,也要把它写成元组的形式,
比如 Cursor.execute(‘select name from user where id=:1’,(login_Id,)) 
千万要注意,login_id后面还带有一个逗号,如果没有逗号,他其实就是一个数据对象,但是当他后面有个逗号的时候,他就变成了元组的一个数据项,千万要记住啊,我就是在这里徘徊了很久。!


遇到问题:
1、调用cx_Oracle,做update操作时报错为:ORA-00911: invalid character,查了半天发现是语句多了个";",去掉就没问题,真是坑爹啊!!!
阅读(1852) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~