表中有很多空白,我希望标签值中的那些空白(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] 删除。
我来说两句