从sql select命令返回字符串值vb.net代码隐藏
作为一个新手,我越来越老了,我一直在试图弄清楚如何用vb代码从sql select命令返回字符串值。我的程序如下。本质上,我试图做的是提取table BuildFields(带WHERE条件)中DisplayName字段中的值,并将其放入formview模板中标签的文本字段中。这看起来并不难,我确信我错过了一些东西。有人知道我做错了什么吗?这不会退回任何东西。谢谢从sql select命令返回字符串值vb.net代码隐藏,.net,vb.net,.net,Vb.net,作为一个新手,我越来越老了,我一直在试图弄清楚如何用vb代码从sql select命令返回字符串值。我的程序如下。本质上,我试图做的是提取table BuildFields(带WHERE条件)中DisplayName字段中的值,并将其放入formview模板中标签的文本字段中。这看起来并不难,我确信我错过了一些东西。有人知道我做错了什么吗?这不会退回任何东西。谢谢 Protected Sub FormView1_DataBound(ByVal sender As Object, ByVal e
Protected Sub FormView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.DataBound
Dim dt As New DataTable()
Dim conCString As String = ConfigurationManager.ConnectionStrings("conCString").ConnectionString
Dim lbl As Label = FormView1.FindControl("Label1")
Dim sqlConnection As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("conCString").ConnectionString)
Dim cmd As New SqlCommand
cmd.CommandText = "SELECT [DisplayName] FROM [BuildFields] WHERE ([TableID] = N'Capacitors') AND (ColumnID = N'UserField01') ORDER BY [ColumnID]"
cmd.CommandType = CommandType.Text
cmd.Connection = SqlConnection
Try
SqlConnection.Open()
Dim result As String
result = cmd.ExecuteScalar()
lbl.Text = result
sqlConnection.Close()
Catch ex As Exception
End Try
End Sub
现在打开。为什么?如果/当ExecuteScalar
返回DBNull
时会发生什么
我敢打赌,如果删除try-catch块,您将收到以下错误消息:
Microsoft.VisualBasic.dll中发生类型为“System.InvalidCastException”的未处理异常
下面是您的代码的外观:
Dim result As Object
result = cmd.ExecuteScalar()
lbl.Text = If((TypeOf result Is String), CType(result, String), "(null)")
处理一次性物品时,还应使用Using
关键字
Using sqlConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("conCString").ConnectionString)
Using cmd As New SqlCommand()
'Code goes here...
End Using
End Using
你永远不应该像那样接受例外。始终采取适当措施和/或重新抛出错误
Catch ex As Exception
'Do something or else:
Throw
End Try
可能重复的