[英]Cannot save empty text box value to database.(format is in int)
當我為銀行區域和成本中心提供空值時,在保存到數據庫時會給出錯誤。
錯誤:輸入字符串的格式不正確。
objMEndorsement.BankRegion = Convert.ToInt32(txtBankRegion.Text);
objMEndorsement.CostCenter = Convert.ToInt32(txtCostCenter.Text);
這是我使用的代碼。如何將空文本框值保存到數據庫。
嘗試這樣的事情:
objMEndorsement.BankRegion = string.IsNullOrWhiteSpace(txtBankRegion.Text) ? 0 : Convert.ToInt32(txtBankRegion.Text)
嘗試使用int.TryParse()
可以更好地處理轉換。
您可以這樣操作:
int bankRegion = 0; //Default value if wasn't able to parse
int.TryParse( txtBankRegion.Text, out value );
objMEndorsement.BankRegion = bankRegion;
然后,您可以對其他字段執行相同的操作。
是的,使用三元運算符並分配相應的值objMEndorsement.BankRegion =(txtBankRegion.Text.trim())嗎? 0:Convert.ToInt32(txtBankRegion.Text)
更換
objMEndorsement.BankRegion = Convert.ToInt32(txtBankRegion.Text);
objMEndorsement.CostCenter = Convert.ToInt32(txtCostCenter.Text);
通過
objMEndorsement.BankRegion = Convert.ToInt32(txtBankRegion.Text??0);
objMEndorsement.CostCenter = Convert.ToInt32(txtCostCenter.Text??0);
?? 在C#中為null合並運算符
編輯:最好的選擇是像這樣使用tryParse
bool isInteger=int.TryParse(txtBankRegion.Text??0, out num1);
if(isInteger)
{
//insert into database
}
使objMEndorsement.BankRegion為NULL並:
if(!string.IsNullOrWhiteSpace(txtBankRegion.Text))
objMEndorsement.BankRegion = Convert.ToInt32(txtBankRegion.Text)
(如果NULL是屬性objMEndorsement.BankRegion = Convert.ToInt32(txtBankRegion.Text)的初始值,則此方法有效)
否則(屬性仍然必須接受NULL):
objMEndorsement.BankRegion = string.IsNullOrWhiteSpace(txtBankRegion.Text) ? null : Convert.ToInt32(txtBankRegion.Text);
請記住,您的數據庫字段也必須可以為NULLable(否則,當嘗試將NULL保持為持久狀態時,您將收到DB錯誤)。
通過將值類型轉換為可為空的類型,然后將其發送到數據庫,使其成為可為空的類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.