You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于ODBC操作SQL数据库:订单状态显示需求咨询

解决方案

1. SQL查询阶段直接转换状态

直接在查询语句中通过CASE逻辑转换字段值,获取结果后可直接绑定到界面:

SELECT enc_cmd_num, 
       CASE enc_paye 
           WHEN 1 THEN '准备中' 
           WHEN 0 THEN '待支付' 
           ELSE '未知状态' 
       END AS order_status
FROM encaissement

执行该查询后,结果集里的order_status就是直接可显示的状态文本,无需额外处理。

2. 程序后端处理(以Python pyodbc为例)

如果已经获取到原始的enc_paye值,可在代码中做判断转换:

import pyodbc

# 假设已建立ODBC连接conn
cursor = conn.cursor()
cursor.execute("SELECT enc_cmd_num, enc_paye FROM encaissement")
rows = cursor.fetchall()

processed_data = []
for row in rows:
    cmd_num = row.enc_cmd_num
    paye_status = row.enc_paye
    # 状态转换
    status_text = '准备中' if paye_status == 1 else '待支付' if paye_status == 0 else '未知状态'
    processed_data.append((cmd_num, status_text))

# 后续将processed_data绑定到界面控件即可

3. 前端界面控件动态处理(以WinForms DataGridView为例)

若使用Windows Forms开发,可通过控件事件动态转换显示文本:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    // 匹配enc_paye列(根据实际列名调整)
    if (dataGridView1.Columns[e.ColumnIndex].Name == "enc_paye" && e.Value != null)
    {
        int payeValue = Convert.ToInt32(e.Value);
        e.Value = payeValue switch
        {
            1 => "准备中",
            0 => "待支付",
            _ => "未知状态"
        };
        e.FormattingApplied = true;
    }
}

内容的提问来源于stack exchange,提问作者user20722045

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:05:14