python psycopg2使用_使用python函数根据用户输入执行psycopg2数据库搜索

我试图根据用户输入执行数据库搜索。下面代码中的DBresults函数用于捕获存储在“ranumber”中的输入,并对该特定记录执行SQL搜索。我好像搞不好这个。我已经尝试了很多方法,但是最近的一个错误是“TypeError:不是所有参数都在字符串格式化过程中被转换”。

我错过了什么?在def connectToDB():

psycopg2.connect('dbname=reportingdb user=rai_gui password=Rad1oInd host=10.100.51.42')

def DBresults(ranumber):

conn = psycopg2.connect('dbname=reporting user=rai_user password=Rad1odsfdInd host=10.100.47.42')

cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)

cur.execute("SELECT * FROM radio_archive_index_gui.radio_archive_index_gui WHERE rai_number= %s", (ranumber))

searchresults = cur.fetchall()

print (searchresults)

####Index Page

@app.route('/', methods=['GET', 'POST'])

@app.route('/index', methods=['GET', 'POST'])

def index():

exception = ""

try:

connectToDB

except:

exception = 'Failure to connect to db'

form = StaffNames()

if not exception:

if form.validate_on_submit():

query = {

'staff': dict(staff_choices).get(form.staff.data),

'ranumber': form.ranumber.data

}

return redirect(url_for('results', **query))

return render_template(

'index.html', title='Search Page', exception=exception, form=form

)

#####Results Page

@app.route('/results')

def results():

ranumber = request.args.get('ranumber', None)

staff = request.args.get('staff', None)

DBresults()

return render_template(

'results.html', title='Results', staff=staff, ranumber=ranumber

)

这是我的表单.py文件(如果有帮助):

^{pr2}$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值