Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 无法将文本框中的小数插入数据库_Asp.net_Sql_Web - Fatal编程技术网

Asp.net 无法将文本框中的小数插入数据库

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

我正在努力让我的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)。有什么想法吗?

您的错误消息表明输入字符串的格式不正确。表示您试图将错误的值转换为十进制

在代码周围放置一个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.");
}