【问题标题】:Comboboxes visual basic 6组合框 Visual Basic 6
【发布时间】:2015-11-16 21:53:01
【问题描述】:

我有多个组合框,用户可以在其中选择一个项目。如果未选择任何项目,我将 NULL 插入 SQL-SERVER:

if cboSchool.text="" then
g_strSQL = g_strSQL & "NULL,"
else
g_strSQL = g_strSQL & "'" & cboschool.itemdata(cboschool.listindex) & "',"
End if

我的问题如下:稍后我允许用户编辑他们以前没有选择的信息。所以稍后当他们想要编辑信息时,我需要能够让应用程序意识到(SQLSERVER)中的表中有一个值或没有一个值,比较它是否与之前的值不同选择。如果信息不同,则需要更新表。这就是我的代码寻找的编辑:

If g_RS!SchoolID <>cboSchool.ItemData(cboSchool.ListIndex)Then
    g_strSQL2 = g_strSQL2 & " School ID = '" & cboSchool.ItemData (cboSchool.ListIndex) & "',"
End If

我看到的问题是 g_RS!SCHOOLID 显示为“NULL”,但它确实注意到该值与 cboschool.itemdata 不同,它只是跳到 if 语句的末尾。我不明白它怎么看不出区别。

【问题讨论】:

    标签: sql-server vb6


    【解决方案1】:
    If Val("" & g_RS!SchoolID) <> cboSchool.ItemData(cboSchool.ListIndex) Then
    

    【讨论】:

    • 谢谢,我明天试试
    【解决方案2】:

    因为空值看不出有什么区别。

    你可以:

    If g_RS!SchoolID <> "Hello world!" Then
        g_strSQL2 = "DROP TABLE X"
    Else
        MsgBox ("g_RS!SchoolID = Hello world!")
    End If
    

    只要 SchoolID 为 NULL,您就会收到一个消息框。

    您可以通过以下方式解决此问题:

    If Iif(IsNull(g_RS!SchoolID), "", g_RS!SchoolID) <> cboSchool.ItemData(cboSchool.ListIndex) Then
        'do stuff
    End If
    

    【讨论】:

    • 谢谢。直到明天我才能尝试这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    相关资源
    最近更新 更多