我正在尝试将小数添加到数字中。示例:1.45,46.12但我有例外。
cn.Open();
string sqlquery = ("INSERT INTO table(ID, Name, Price, HowMuch, Localization, Description) VALUES(@ID, @Name, @Price, @HowMuch, @Localization, @Description)");
SqlCeCommand cm = new SqlCeCommand(sqlquery, cn);
cm.Parameters.AddWithValue("@ID", textBox1.Text);
cm.Parameters.AddWithValue("@Name", textBox2.Text);
cm.Parameters.AddWithValue("@Price", textBox3.Text);
cm.Parameters.AddWithValue("@HowMuch", textBox4.Text);
cm.Parameters.AddWithValue("@Localization", textBox5.Text);
cm.Parameters.AddWithValue("@Description", textBox6.Text);
异常消息:“输入字符串的格式无效。”。 我正在使用System.Data.SqlServerCe
答案 0 :(得分:0)
至少你应该使用类似的东西:
cm.Parameters.AddWithValue("@Price", string.Format("{0:C}", textBox3.Text));
但是在没有任何控制权之前将用户值直接放入float是有点棘手的。然后做一些事情:
try
{
cm.Parameters.AddWithValue("@Price", string.Format("{0:C}", textBox3.Text));
}
catch
{
/// do something to alert user value is not corretly formatted
}
答案 1 :(得分:0)
你可以试试这个: -
SqlCeParameter parameter = new SqlCeParameter();
parameter.SqlDbType = SqlDbType.Decimal;
parameter.Precision = 18;
parameter.Scale = 0;
parameter.Value = textBox3.Text;
cm.Parameters.Add(parameter);
答案 2 :(得分:0)
我认为在进入插入例程之前确保@(Html.DevExtreme().DataGrid()
.ID("gridContainer")
.Scrolling(s => s.ColumnRenderingMode(GridColumnRenderingMode.Virtual))
.Paging(p => p.Enabled(false))
.ShowBorders(true)
.Height(600)
.ColumnAutoWidth(true)
.Editing(editing =>
{
editing.Mode(GridEditMode.Cell);
editing.AllowUpdating(true);
editing.AllowAdding(false);
})
.DataSource(ViewBag.Student)
)
首先是有效的小数是一个好主意。
textBox3.Text
然后您可以使用以下方法添加参数和值:
decimal price = Convert.ToDecimal(textBox3.Text);
SqlDbType是System.Data的一部分。