如何在TCL中使用带有查询结果的if语句?

如何在TCL中使用带有查询结果的if语句?,tcl,Tcl,我遇到的问题是,我正在进行查询,以检查订单状态是否已处理或已完成。我能够返回订单的查询结果,但当我执行if语句时,它无法按预期工作 set order_status "select ORDER_STATUS from Customer_Log where order_number = 'xxxxxxx'" orasql $customer_crsr $order_status orafetch $customer_crsr - dataarray hf -indexbyna

我遇到的问题是,我正在进行查询,以检查订单状态是否已处理或已完成。我能够返回订单的查询结果,但当我执行if语句时,它无法按预期工作

set order_status "select ORDER_STATUS from Customer_Log where order_number = 'xxxxxxx'"
orasql $customer_crsr $order_status 
orafetch $customer_crsr - dataarray hf -indexbyname
set result $hf(ORDER_STATUS)
puts $result

if { ($result == "Completed") || ($result == "Processed) } {
      puts "You can now ship the order"} else {
       puts "Check back again }

因此,在上面的代码中,让我们假设$result由于某种原因返回为“Completed”,if语句不起作用。

高亮显示似乎混乱,这似乎是由于多个地方的字符未对齐。如果您修复了它们,代码会起作用吗?(在SQL for Oracle中,在字符串文字周围使用单引号;双引号表示其他内容。)@DonalFellows我将其更改为设置订单状态“从客户日志中选择订单状态,其中订单号='xxxxxxx'”,但仍不起作用…什么“不起作用”“平均值?
$result
的值到底是多少?
parray hf
我看到
-
dataarray
之间有一个空格,这可能是一个输入错误。您的代码中有这个空格吗?”?