今のところ、この種のバグに遭遇しています
データ型 float から decimal への変換中にエラーが発生しました。
また
数値から 10 進数へのデータ型変換エラー
これは私のコードです
using (SqlConnection reportsConn = new SqlConnection(sqlConnWriter))
{
reportsConn.Open();
SqlCommand AddReconItem = new SqlCommand();
AddReconItem.Connection = reportsConn;
AddReconItem.CommandType = CommandType.StoredProcedure;
AddReconItem.CommandText = "Updater.usp_AddReconcileItems";
// AddReconItem.Parameters.Add("@varible",SqlDbType.Decimal
AddReconItem.Parameters.AddWithValue("@ITEMWEIGHT", Math.Round(Convert.ToDouble(WeightTextBox.Text+".00"), 2));
AddReconItem.Parameters.AddWithValue("@ITEMPRINCIPALAMT", Math.Round(Convert.ToDouble(PrincipalTexAmTextBox.Text + ".00"), 2));
AddReconItem.Parameters.AddWithValue("@FORLOANMONTH", Convert.ToDateTime(YearDropDownList.SelectedValue + "/" + MonthDropDownList.SelectedValue));
AddReconItem.Parameters.AddWithValue("@STORAGEGROUPID", StorageNameDropDownList.SelectedValue);
AddReconItem.Parameters.AddWithValue("@BRANCHCODE",BranchCodeTextBox.Text);
AddReconItem.Parameters.AddWithValue("RECONID", ReconTypeDropDownList.SelectedValue);
AddReconItem.Parameters.AddWithValue("@PAWNTIX",PwnTicketTextBox.Text);
AddReconItem.Parameters.AddWithValue("@CREATEDBY", Session["UserID"].ToString());
AddReconItem.ExecuteNonQuery();
}
入力する123
とprincipalamt
、itemweight
回答を受け入れて小数として扱いますが、入力1234
するitemweight
と、それでも123
forPrincipalamt
はそのエラーを示します。変換を削除して変更すると、それをテキストとして使用するかどうかが示されますConvert.ToDecimal
。Error converting data type Numeric to decimal
Error converting data type varchar to decimal
これはバグか何かですか?多くのオプションを試した方法が見つからないようですが、どれも機能していません
私のデータベースの列は以下のとおりです。
この現象を理解するのを手伝ってくれることを本当に願っています
編集
これは、1234がそうではないのに123を有効な入力として受け入れるプログラムを見たのは初めてです。私のデータベースDecimal (38,6)
はこの入力に対応するのに十分な大きさであるため、この問題を解決できる答えまたは既知のバグを探しています。ありがとうあなた。