我正在努力让我的sql数据库接受我网站页面上文本框中的小数。当我输入整数时没有问题,只有当我输入小数(123.45)时才会出现问题。我试过double.parse(textbox.text)
和decimal.parse(textbox.text)
无济于事。
我收到错误消息
输入字符串的格式不正确
我的插入声明如下:
"INSERT INTO Transactions (Date, Account, Payee, Chq_Num, Reference, GST_Rate,
Amount, Document_Number, Bank_Account) VALUES ('" & yy & "-" & mm & "-" & dd &
"','" & DropDownList3.SelectedValue & "','" & TextBox3.Text & "','" &
TextBox5.Text & "','" & TextBox4.Text & "'," & DropDownList2.SelectedValue &
"," & Double.Parse(TextBox6.Text) & "," & TextBox27.Text & ",'" &
DropDownList1.SelectedValue & "'); INSERT INTO Cash (Date, Bank_Account,
Amount, Document_Number) VALUES ('" & yy & "-" & mm & "-" & dd & "','" &
DropDownList1.SelectedValue & "'," & Double.Parse(TextBox2.Text) & "," &
TextBox27.Text & ");"
我的数据库字段设置为十进制(18,2)任何想法?
答案 0 :(得分:0)
您的错误消息告诉输入字符串格式不正确。表示您尝试将错误的值转换为十进制。
在代码周围放置一个try / catch,以查看传递给ParseDouble的内容。这应该有助于确定导致问题的原因,并有助于确定问题的来源。用户是否在文本框中输入了它?
请尝试" double.TryParse"代替" Double.Parse"。
double temp = 0;
if (double.TryParse("123.456", out temp)
{
Console.WriteLine(string.Format("Parsed temp: {0}", temp);
}
else
{
Console.WriteLine("Input value was not able to be parsed.");
}