带for和不带if语句的VB DBNull解决方案

乔维察

表中有很多空白,我希望标签值中的那些空白(DBNull)被忽略并显示为空白值。同样,通过Web表单添加和更改表格,将很难控制每个单个输入(23列数据)。

有可能用FOR语句吗?我尝试过没有成功。我可以使用IF语句来做到这一点,但我必须为23个标签中的每一个这样做。

这是我到目前为止的代码(感谢本站点的人员)。

 Protected Sub TextBox1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Load
    Using sqlconn = New SqlConnection("Data Source=.\sqlexpress;Initial Catalog=KLIJENTI;Integrated Security=True")
        Using sqlcmd = New SqlCommand("Select NAZIV,PUN_NAZIV, ADRESA, GRAD, OPSTINA, PRAVNA_FORMA,DAT_REG, TRAJANJE, MATICNI, PIB, SIFRA_DELATNOSTI, NAZIV_DELATNOSTI, VELICINA, TEKUCI, RZZO, PIO From Baza Where SIFRE = @SIFRE", sqlconn)
            sqlcmd.Parameters.AddWithValue("@SIFRE", TextBox1.Text)

            sqlconn.Open()

            Dim result = sqlcmd.ExecuteReader()
            While (result.Read())
                If result IsNot Nothing Then
                    Label1.Text = result("NAZIV")
                    Label2.Text = result("PUN_NAZIV")
                    Label3.Text = result("ADRESA")
                    Label4.Text = result("GRAD")
                    Label5.Text = result("OPSTINA")
                    Label6.Text = result("PRAVNA_FORMA")
                    Label7.Text = result("DAT_REG")
                    Label8.Text = result("TRAJANJE")
                    Label9.Text = result("MATICNI")
                    Label10.Text = result("PIB")
                    Label11.Text = result("SIFRA_DELATNOSTI")
                    Label12.Text = result("NAZIV_DELATNOSTI")
                    Label13.Text = result("VELICINA")
                    Label14.Text = result("TEKUCI")
                    Label15.Text = result("RZZO") ' PROBLEM DBNull.Value
                    Label16.Text = result("PIO") ' PROBLEM DBNull.Value There are more labels below but I am stuck here

                Else
                    TextBox1.Focus()


                End If
            End While
        End Using
    End Using
    TextBox1.Text = ""
End Sub

在这种情况下,也始终有空格,它们分别位于第15和16号标签上。

谢谢。

时光

只需将此函数添加到您的类中:

Private Shared Function GetTextOrEmpty(reader As IDataReader, fieldName As String)
    Dim ordinal = reader.GetOrdinal(fieldName)

    Return If(reader.IsDbNull(ordinal), String.Empty, reader.GetString(ordinal))
End Function

然后,在您的For循环中:

'Other labels (...)
Label14.Text = GetTextOrEmpty(result, "TEKUCI")
Label15.Text = GetTextOrEmpty(result, "RZZO")
'Other labels (...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

级联IF语句-最佳解决方案

来自分类Dev

Javascript重复if语句更好的解决方案?

来自分类Dev

升级解决方案和项目

来自分类Dev

分页和$ _post含义的解决方案

来自分类Dev

Json和按解决方案分组

来自分类Dev

分页和$ _post含义的解决方案

来自分类Dev

内连接和回声解决方案

来自分类Dev

CRM动态中的默认解决方案导入和导出解决方案。

来自分类Dev

带记忆化的 Scala 背包解决方案

来自分类Dev

开关(案例)语句的更优雅的数学解决方案

来自分类Dev

PHP中许多ifelse语句的替代解决方案

来自分类Dev

VB.net 通过忽略错误构建解决方案

来自分类Dev

Laravel和完整的Paypal /支付解决方案

来自分类Dev

在解决方案中拆分WebApi项目和FrontEnd项目

来自分类Dev

Maven和Java版本设置-哪种解决方案更好?

来自分类Dev

熊和稳定基因-改善解决方案

来自分类Dev

线性模型和DPLyr-更好的解决方案?

来自分类Dev

找不到解决方案文件(CCNet和NAnt)

来自分类Dev

脏内存解决方案Xcode和仪器

来自分类Dev

在MonoDevelop中启动C#解决方案和项目

来自分类Dev

Xamarin解决方案:UITableView和键盘滚动问题

来自分类Dev

Microsoft AlwaysOn故障转移解决方案和Delphi

来自分类Dev

FIWARE Orion和pep代理解决方案?

来自分类Dev

sed regex查找和替换(欢迎awk解决方案)

来自分类Dev

Excel中的多个条件和多个解决方案

来自分类Dev

选择正确的搜索和索引解决方案

来自分类Dev

glpsol工具拆分MIP和LP解决方案

来自分类Dev

多种输入和输出的音频解决方案

来自分类Dev

tkinter和configparser:寻找更漂亮的解决方案