Buona giornata a tutti,Errore tipo di dati Conversione 'numerico' di decimale (aiuto!)
A partire da ora im bloccato con questo errore
Error Converting data type 'Numeric' to Decimal
questo è il mio codice
AddManualItems AddReconItem = new AddManualItems();
UserAccess user = new UserAccess();
AddReconItem.BranchCode = BranchCodeTextBox.Text;
AddReconItem.ForLoanMonth = YearDropDownList.SelectedValue + "/" + MonthDropDownList.SelectedValue;
AddReconItem.ItemWeight = Convert.ToDecimal(WeightTextBox.Text);
AddReconItem.PrincipalAmount = Convert.ToDecimal(PrincipalTexAmTextBox.Text);
AddReconItem.PawnTicket = PwnTicketTextBox.Text;
AddReconItem.ItemStorageGroup = Convert.ToInt16(StorageNameDropDownList.SelectedValue);
AddReconItem.ReconID = Convert.ToInt16(ReconTypeDropDownList.SelectedValue);
user.UserID = Session["UserID"].ToString();
string a = servs.AddItemRecon(user, AddReconItem); // this is where the error appears in debug mode
il codice all'interno di ADDitemRecon (Utente, AddReconItem) è questo
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.AddWithValue("@ITEMWEIGHT", Convert.ToDecimal(items.ItemWeight));
AddReconItem.Parameters.AddWithValue("@ITEMPRINCIPALAMT", Convert.ToDecimal(items.PrincipalAmount));
AddReconItem.Parameters.AddWithValue("@FORLOANMONTH", Convert.ToDateTime(items.ForLoanMonth));
AddReconItem.Parameters.AddWithValue("@STORAGEGROUPID", items.ItemStorageGroup);
AddReconItem.Parameters.AddWithValue("@BRANCHCODE", items.BranchCode);
AddReconItem.Parameters.AddWithValue("RECONID", items.ReconID);
AddReconItem.Parameters.AddWithValue("@PAWNTIX",items.PawnTicket);
AddReconItem.Parameters.AddWithValue("@CREATEDBY", user.UserID.ToString());
AddReconItem.ExecuteNonQuery();
}
mia proprietà per ItemWeight è
private decimal itemWeight;
public decimal ItemWeight
{
get { return itemWeight; }
set { itemWeight = value; }
}
Scommetto l'errore è nel peso dell'articolo, perché quando ho ingresso nel peso dell'articolo 12.345,12 funziona benissimo, ma quando di ingresso 1234, invece di trattarlo come 1234.00 si tratta come 1234 rendendolo solo numerico ..
aiuto? non so se le mie conversioni sono sbagliate
Tra l'altro il mio campo nel database è
fld_ItemWeight (decimal (38,6), not null
EDIT ** È stato rilevato qualche bug conosciuti in decimale ?? sto usando VS 2005 al momento.
decimale (38,6) ho questo, sulla base del articled voi dato questo non dovrebbe generare alcun errore, le frazioni sono applicabili solo a chi ha una dichiarazione di (2,2) stessa precisione e lo stesso numero di decimali consentito. – user2705620