【问题标题】:How to pass decimal value to a stored procedure from textbox如何从文本框中将十进制值传递给存储过程
【发布时间】:2025-12-31 18:05:03
【问题描述】:

我在文本框中输入了十进制值,我想将在文本框中输入的值发送到存储过程,以便在相应的表中进行更新。

下面是我的代码,

updtstmt.Update_tbl(UserID, No, Convert.ToDecimal(txtQty.Text));

public int Update_tbl(string UserID, string Number, decimal strQuantity)

SqlParameter paraQuantity = new SqlParameter("@Quantity", SqlDbType.Decimal, 18);

我想从 txtQty.Text 传递十进制值。

我收到错误

Input string was not in a correct format.

使用 Convert.ToDecimal 将文本框中的值转换为十进制是否正确?

提前致谢

【问题讨论】:

  • 在谷歌搜索 Input string was not in a correct format. 并且有很多关于这个的帖子。无论如何我建议你使用TryParse

标签: c# sql stored-procedures decimal


【解决方案1】:

当您尝试转换不是数值的字符串时,通常会出现“输入字符串的格式不正确”。确保检查文本框中的空字符串。

类似这里:

updtstmt.Update_tbl(UserID, No, Convert.ToDecimal(txtQty.Text=="" ? "0.00" : txtQty.Text));

【讨论】:

    最近更新 更多