来自文本框中显示的db的十进制值

时间:2013-07-12 09:30:37

标签: sql-server vb.net tsql stored-procedures visual-studio-2012

我有一个存储过程来计算十进制(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”。我真的需要在文本框中显示我的小数,并需要帮助。

1 个答案:

答案 0 :(得分:1)

我刚刚找到了答案。我将SqlDbType.decimal更改为SqlDbType.Float并且它可以工作。