簡體   English   中英

將字符串轉換為DateTime時出錯

[英]Error converting string to DateTime

private void SaveButton_Click(object sender, EventArgs e)
{
   try
   {
       if (ValidateInput())
       {
          if (md.NAME_ID("LOGIN", "UID", "UNAME", UserNameTextBox.Text) != "")
          {
              MessageBox.Show("User already exist");
              return;
          }
          string PASS = "";
          if (UpassTextBox.Text != "")
          {
              PASS = base64Encode(UpassTextBox.Text);
          }
          else
          {
             PASS = "";
          }
          LoginTbl login = new LoginTbl(Convert.ToString(md.Max_ID("UID", "LOGIN")),
                               Convert.ToDateTime(DT1.Value.ToShortDateString()), 
                               Convert.ToBoolean(ActiveRadioButton.Checked ? true : false), 
                               UserNameTextBox.Text, PASS, MobileTextBox.Text, 
                               RemarksTextBox.Text, UpdateCheckBox.Checked, 
                               DeleteCheckBox.Checked, MenuCheckBox.Checked, 
                               AddItemCheckBox.Checked, SearchItemCheckBox.Checked, 
                               ListViewCheckBox.Checked, PurchaseCheckBox.Checked, 
                               PurReturnCheckBox.Checked, PurPerformaCheckBox.Checked, 
                               PurImportsCheckBox.Checked, PurReportsCheckBox.Checked, 
                               SaleCheckBox.Checked, SaleReturnCheckBox.Checked, 
                               SalePerformaCheckBox.Checked, SaleReportsCheckBox.Checked, 
                               InventoryCheckBox.Checked, PaymentCheckBox.Checked, 
                               JVCheckBox.Checked, AccLedgerCheckBox.Checked, 
                               TrailCheckBox.Checked, PLCheckBox.Checked, 
                               AccReportsCheckBox.Checked, SmsCheckBox.Checked, 
                               EmailCheckBox.Checked, SmsReportsCheckBox.Checked, 
                               StockNavigationCheckBox.Checked);

          if (new LoginDAL().Save(login))
          {
             MessageBox.Show("User has been added successfully");
             REFRESH_FORM();
             T1.Text = Convert.ToString(md.Max_ID("UID", "LOGIN"));
          }
          else
          {
             MessageBox.Show("Not added try again");
          }

      }
      else {
             MessageBox.Show("Please enter into \'*\' empty fields");

           }
   }
   catch (Exception ex)
   {
      MessageBox.Show("Error: " + ex.Source + ": " + ex.Message, "Connection Error !!");
   }
}

當我嘗試保存時,它將給您錯誤提示從字符串轉換日期/時間時轉換失敗。

這里

Convert.ToDateTime(DT1.Value.ToShortDateString())

您將您的DateTime轉換為字符串,然后返回到日期。 這不是必需的。 刪除這兩個轉換並直接使用DT1.Value

為什么只將DateTime轉換為string ,只是將其解析回DateTime 如果要從日期中刪除時間部分,請使用DateTime.Date

所以代替:

Convert.ToDateTime(DT1.Value.ToShortDateString())

這個

DT1.Value.Date

要將基於字符串的日期轉換為System.DateTime對象,可以使用Convert.ToDateTime(String)方法或DateTime.Parse(String)靜態方法。

Convert.ToDateTime(DT1.Value.ToShortDateString())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM