【问题标题】:Checking Null values and Not null values in foxpro9在 foxpro9 中检查 Null 值和 Not null 值
【发布时间】:2021-06-14 14:08:43
【问题描述】:

如下所示,我将 SQL 服务器中的一些字段放入我的 Foxpro 游标中。

stra="SELECT  cCm_Sgl_TaxInv,cInvNo FROM MIS.dbo.vInvFinalAll where cInvNo=?thisform.txtInvoiceNo.value"

SQLEXEC(hndOps,stra,'TaxInv')

我需要使用 IF 条件检查空值而不是空值。我写了下面的代码,它没有给出预期的结果。

SELECT TaxInv
IF NOT ISNULL(cCm_Sgl_TaxInv)
ELSE
ISNULL(cCm_Sgl_TaxInv)
thisform.cmdCreate.Enabled = .T. 
MESSAGEBOX("The value is already inserted")
endif

我该怎么做?

【问题讨论】:

    标签: visual-foxpro


    【解决方案1】:

    这里不是很清楚你在问什么,检查你的代码,大概是这个意思:

    IF ISNULL(TaxInv.cCm_Sgl_TaxInv)
       thisform.cmdCreate.Enabled = .T. 
       MESSAGEBOX("The value is already inserted")
    endif
    

    编辑:这对于您尝试做的事情可能更简单:

    text to m.stra noshow
    
    SELECT case when cCm_Sgl_TaxInv is null then 1 else 0 end as txStatus
    FROM MIS.dbo.vInvFinalAll 
    where cInvNo=?thisform.txtInvoiceNo.value
    
    endtext
    SQLEXEC(m.hndOps,m.stra,'TaxInv')
    
    if (TaxInv.txStatus = 1)
           thisform.cmdCreate.Enabled = .T. 
           MESSAGEBOX("The value is already inserted")
    endif
    

    【讨论】:

      【解决方案2】:

      你似乎只需要在值为 null 的情况下做某事,因此假设:

      1. “taxinv”游标只有一条记录。

      2. 您只想在值为空时启用命令按钮

        选择taxinv 如果为空(taxinv.cCm_Sgl_TaxInv) thisform.cmdCreate.Enabled = .t. 别的 messagebox("该值已插入。") 结束

      【讨论】:

      • 对代码格式感到抱歉 - 它目前似乎已损坏。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 2023-03-27
      • 2013-03-26
      • 2013-07-14
      • 2015-10-03
      相关资源
      最近更新 更多