如何在Flask应用程序中向SQL存储过程中插入变量参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Flask应用程序中向SQL存储过程中插入变量参数相关的知识,希望对你有一定的参考价值。

我正在为我的Flask应用程序寻求一些建议。我希望用户能够单击产品名称,然后单击它们,它将用户带到一个新页面,其中包含该特定项目的历史订单表。我已经看过这两个问题(甚至更多),但它们似乎并没有我要的答案。Table Variable As a parameter In My sql Stored Procedureshow to pass output parameter to ms-sql stored procedure using knex

在我的app.py文件中,我具有以下存储过程-

order_history = '''exec Web_ProductHistory ?'''

这是它的关联路由和功能-

@app.route('/prev-orders/')
def previous_orders():
   ItemID = request.form.get('ItemID')
   cursor = cnxn.cursor()
   cursor.execute(order_history, (ItemID))
   data = cursor.fetchall()
   return render_template('previous-orders.html', data=data)

我有一张桌子,上面放着工作的库存物品,这是桌子-

{% for value in data %}
       <tr>
          <td class="hidden"></td>
          <td></td>
          <td><span style="margin-left: 40px">{{ value[1] }}</span></td>
          <td><a name="{{ value[0] }}" class="black-text" href="{{url_for('previous_orders')}}" target="_blank">{{ value[3] }}</a></td>
          <td>{{ value[12] }}</td>
          <td>{{ value[23] }}</td>
          <td class="over-25">{{ value[18] }}</td>
          <td>{{ value[6] }}</td>
          <td>{{ value[7] }}</td>
          <td><a name="{{ value[0] }}" class="black-text" href="{{url_for('live_so')}}" target="_blank">{{ value[14] }}</a></td>
          <td>{{ value[16] }}</td>
          <td>{{ value[15] }}</td>
          <td>{{ value[22] }}</td>
          <td>{{ value[2] }}</td>
       </tr>
   {% endfor %}

value [0]是ItemID整数。

到目前为止,我已经尝试将路由更改为@ app.route('/ prev-orders /')@ app.route('/ prev-orders / ItemID')] >>,但那没有做到。然后,我尝试将第二行更改为def previous_orders(ItemID),但是那也不起作用。

您对我有什么提示,以尝试使其正常工作?谢谢!

我正在为我的Flask应用程序寻求一些建议。我希望用户能够单击产品名称,然后单击该按钮,它将使用户进入具有该历史订单表的新页面...

答案
request.form.get('ItemID')

以上是关于如何在Flask应用程序中向SQL存储过程中插入变量参数的主要内容,如果未能解决你的问题,请参考以下文章

如何在SQL中向表中添加“X”行?

如何在sql创建一条插入数据的存储过程

java插入中文到oracle变问号

如何使用存储过程在 SQL 中插入多行?

如何使用 SQL Server 中的存储过程在单个查询中插入多行

如何创建 SQL 存储过程以插入多个值