我有一个由其他人创建的第三方数据库,用于第三方应用程序,该应用程序的可定制性受到限制(使用Microsoft SQL Server),因此我试图创建一个小的Visual Basic应用程序以单击按钮来更新单个值。
我已经找到了如何更新值,但是现在我试图在表单上显示该值,但是没有成功。
到目前为止,这是我的代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using sqlcon = New SqlConnection("Data Source=(localdb)\xxx;Initial Catalog=IpposnifDB240;Integrated Security=True")
sqlcon.Open()
Dim sqltext = "UPDATE newcount SET Count = Count + 1"
Dim cmd = New SqlCommand(sqltext, sqlcon)
cmd.ExecuteNonQuery()
cmd = New SqlCommand("SELECT Count from newcount", sqlcon)
Label1.Text = cmd.ExecuteReader(1)
End Using
End Sub
我希望您可以猜测ExecuteReader
不会返回我要查找的字符串,如何从SQL查询中获取字符串?
听起来像是您想要的ExecuteScalar()
。https://docs.microsoft.com/zh-cn/dotnet/api/system.data.sqlclient.sqlcommand.executescalar?view=dotnet-plat-ext-3.1
像这样修改您的代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using sqlcon = New SqlConnection("Data Source=(localdb)\xxx;Initial Catalog=IpposnifDB240;Integrated Security=True")
sqlcon.Open()
Dim sqltext = "UPDATE newcount SET [Count] = [Count] + 1"
Dim cmd = New SqlCommand(sqltext, sqlcon)
cmd.ExecuteNonQuery()
cmd = New SqlCommand("SELECT [Count] from newcount", sqlcon)
Label1.Text = cmd.ExecuteScalar().ToString()
End Using
End Sub
顺便说一句,这Count
也是一个保留字,如果不使用方括号将其转义,可能会给您带来麻烦(请参见上文)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句