【问题标题】:Is it possible to insert a null value into a column where column data type is a double?是否可以在列数据类型为双精度的列中插入空值?
【发布时间】:2016-11-08 13:46:38
【问题描述】:
     `enter code here`

                private void btnSave_Click(object sender, RoutedEventArgs e)
                            {
                         GRepository<tblDEIPO_Primary> GR = new GRepository<tblDEIPO_Primary>();
                                    tblDEIPO_Primary objDIE = new tblDEIPO_Primary();
                                    if (txtid.Text == "")
                                    {
                                        objDIE.DIEPONo = txtDIEPO.Text;
                                        objDIE.PoDate = dtpDeiPoDate.Text;
                                        objDIE.Vendor = cmbVendor.Text;
                                        objDIE.Remark = txtRemark.Text;
                                        objDIE.TermsAndConditions = txtTermsAndCondition.Text;
                                        objDIE.TaxType = cmbTaxtype.Text;
                                        objDIE.Tax = Convert.ToDouble(txtTax.Text);
                                        objDIE.TaxAmount = Convert.ToDouble(txtTaxAmount.Text);
                                        objDIE.BonusPenalty = s;
                                        if (chkBonus.IsChecked == true)
                                        {
                                            objDIE.BonusPenaltyAmount = Convert.ToDouble(txtBonus.Text);
                                        }
                                        else if (chkPenalty.IsChecked == true)
                                        {
                                            objDIE.BonusPenaltyAmount = Convert.ToDouble(txtPenalty.Text);
                                        }
                                        objDIE.DeiType = cmbDieType.Text;
                                        objDIE.TypeofInjections = cmbTypeOfInjection.Text;
                                        objDIE.Total =Convert.ToDouble( txtTotal.Text);
                                        objDIE.TotalAmount =Convert.ToDouble(txtAmount.Text);
                                        GR.Insert(objDIE);
                                        GR.Save();}

当我单击 btnSave_Click 按钮时,该时间错误生成“输入字符串的格式不正确。”在 objDIE.Tax = Convert.ToDouble(txtTax.Text); 因为我在此文本框中插入空白值是该错误的任何解决方案请帮助。

                    > Blockquote

【问题讨论】:

  • 您遇到的问题不是将空值分配给数据库,而是尝试将空字符串转换为 Double。

标签: c# sql wpf


【解决方案1】:

所以使用double.TryParse

double taxAmount= 0;
objDIE.TaxAmount = double.TryParse(txtTaxAmount.Text, out taxAmount) ? taxAmount: DbNull.Value;

【讨论】:

    【解决方案2】:

    您可以使用double.TryParse 来测试您输入的值是否为双精度值。

    你可以替换:

    objDIE.TaxAmount = Convert.ToDouble(txtTaxAmount.Text);
    

    通过

    double num;
    bool res = double.TryParse(txtTax.Text, out num);
    if (res)
    {
        // String is a double.
        objDIE.TaxAmount = num;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 2016-10-19
      相关资源
      最近更新 更多