次のコードは、一見ランダムな時間にメッセージにtryparseのプロンプトを表示してから、データを空またはnull値で更新します。これは、totaltaxtextboxおよびtotalwatertextboxにデータが入力されているかどうかに関係なく発生する可能性があります。
private void button2_Click(object sender, EventArgs e)
{
string parcel = parcelNumberTextBox.Text;
string premises = premisesTextBox.Text;
string beg = assessedBegTextBox.Text;
string dim = assessedDimTextBox.Text;
string legal = legalTextBox.Text;
string notes = sumNotesTextBox.Text;
string taxf = taxFromTextBox.Text;
string taxt = taxToTextBox.Text;
string waterf = waterFromTextBox.Text;
string watert = waterToTextBox.Text;
string recital = recitalTextBox.Text;
string taxLien = totalTaxTextBox.Text;
string waterLien = totalWaterTextBox.Text;
string taxName = taxAcctNameTextBox.Text;
string registry = registryTextBox.Text;
decimal taxOpen;
if (!decimal.TryParse(taxOpenTextBox.Text, NumberStyles.Number | NumberStyles.AllowCurrencySymbol,
NumberFormatInfo.CurrentInfo, out taxOpen))
MessageBox.Show("Please enter a valid number in the Tax Open Text Box");
decimal waterOpen;
if (!decimal.TryParse(waterOpenTextBox.Text, NumberStyles.Number | NumberStyles.AllowCurrencySymbol,
NumberFormatInfo.CurrentInfo, out waterOpen))
MessageBox.Show("Please enter a valid number in the Water Open Text Box");
DataClasses1DataContext db = new DataClasses1DataContext();
var matchedCaseNumber = (from c in db.GetTable<PropertyInformation>()
where c.CaseNumberKey == caseNumberKeyTextBox.Text
select c).SingleOrDefault();
matchedCaseNumber.AssessedBeg = beg;
matchedCaseNumber.AssessedDim = dim;
matchedCaseNumber.Premises = premises;
matchedCaseNumber.Legal = legal;
matchedCaseNumber.SumNotes = notes;
matchedCaseNumber.ParcelNumber = parcel;
matchedCaseNumber.TaxFrom = taxf;
matchedCaseNumber.TaxTo = taxt;
matchedCaseNumber.WaterFrom = waterf;
matchedCaseNumber.WaterTo = watert;
matchedCaseNumber.TaxOpen = taxOpen;
matchedCaseNumber.WaterOpen = waterOpen;
matchedCaseNumber.Recital = recital;
matchedCaseNumber.TotalTax = taxLien;
matchedCaseNumber.TotalWater = waterLien;
matchedCaseNumber.Registry = registry;
matchedCaseNumber.TaxAcctName = taxName;
matchedCaseNumber.TaxOpen = taxOpen;
matchedCaseNumber.WaterOpen = waterOpen;
db.SubmitChanges();
Dirty = false;
}
この問題を解決する方法についての助けは素晴らしいでしょう。
ありがとう!