【发布时间】:2013-07-06 07:53:48
【问题描述】:
我有一个 GUID (varchar(50,notnull) in sql) 我通过 VB 中的 ExecuteScalar() 从 SQL 返回 我将该值存储在 VB 中的字符串(最大为 2gb)中 然后我运行一个选择 GUID = Stored GUID
当我运行该程序时,它看起来像 trucates GUID 示例 {3F2504E0-4F89-11D3-9A0C-0305E82C3301}
样本错误浮点值“3F2504E0”超出计算机表示的范围(8字节)
我的 executeScalar 是否截断了这些信息?
代码:
Dim sqlquery As String
Dim ConnectionString As String
If cmboxDatabaseName.Text <> "" Then
ConnectionString = "Server=" + ServerName + "\" + InstanceName + "; Database=" + Control + "; User Id=" + UserId + ";Password=" + Password + ";"
sqlquery = "Select top 1 GUID from dbo.Databases with(Nolock) where dbName = '" + cmboxDatabaseName.Text + "'"
'Connect
Using conn As SqlConnection = New SqlConnection(ConnectionString)
conn.Open()
Using comm As SqlCommand = New SqlCommand(sqlquery, conn)
Hosted_GUID = comm.ExecuteScalar()
conn.Close()
End Using 'comm
conn.Close()
End Using 'conn
【问题讨论】:
-
“GUID(sql 中的 varchar)”。哎哟,为什么?使用唯一标识符!
-
您的样本不是 GUID - 这种格式的 GUID 只能是十六进制,其中包含
P和R。 -
正确,我对 guid 不太熟悉,只是输入了任意值。
-
更新为来自 wiki 的真实示例指南
标签: sql vb.net executescalar