Asp.net 无法将文本框中的小数插入数据库
我正在努力让我的sql数据库接受我网站页面上文本框中的小数。当我输入一个整数时,没有问题,只有当我输入一个小数(123.45)时,我才得到问题。我尝试了Asp.net 无法将文本框中的小数插入数据库,asp.net,sql,web,Asp.net,Sql,Web,我正在努力让我的sql数据库接受我网站页面上文本框中的小数。当我输入一个整数时,没有问题,只有当我输入一个小数(123.45)时,我才得到问题。我尝试了double.parse(textbox.text)和decimal.parse(textbox.text),但没有成功 我收到了错误信息 输入字符串的格式不正确 我的插入声明如下: "INSERT INTO Transactions (Date, Account, Payee, Chq_Num, Reference, GST_Rate, A
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)。有什么想法吗?您的错误消息表明输入字符串的格式不正确。表示您试图将错误的值转换为十进制 在代码周围放置一个try/catch,以查看传递给ParseDouble的内容。这有助于确定问题的原因,也有助于确定问题的来源。用户是否在文本框中输入它 请尝试用“double.TryParse”代替“double.Parse”
-你不应该把你的SQL语句连接在一起-使用参数化查询来避免SQL注入不要小题大做,但实际上为了你自己的理智,你可能还应该给文本框命名。事实证明,不是文本框本身,而是我做的另一个验证是错误的,谢谢你的帮助Sain Pradeep,给我指出了正确的方向
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.");
}