我有一个存储过程,可以计算十进制(18,1)数据类型值。我想通过
将其放入我的 vb.net 程序的文本框中Dim conn As New SqlConnection("Data Source=a\SQLEXPRESS;Initial Catalog=b;Integrated Security=TRUE")
Dim cmd As SqlCommand = New SqlCommand("dbo.c", conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@d", SqlDbType.Decimal)
cmd.Parameters(@d").Direction = ParameterDirection.Output
我认为设置 SqlDbType.Decimal 会给我的文本框中输入小数,但它不起作用,我只得到一个整数(数据库中的原始值为 2.5,文本框中的值为 3)。
在我寻找解决方案的过程中,如果发现了这个
Dim parameter As New SqlParameter("@Price", SqlDbType.Decimal)
With parameter
.Value = 3.1416
.Precision = 8
.Scale = 4
End With
但是我不能应用这个,因为我有一个输出参数。我用我的参数切换了“@price”,但除了“Label1”之外没有显示任何内容。我确实需要在文本框中显示小数点并需要帮助。
最佳答案
我刚刚找到了答案。我将 SqlDbType.decimal 更改为 SqlDbType.Float 并且它有效。
关于sql-server - 文本框中显示的数据库十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17611748/