Месяц не увеличивается после увеличения года в SQL Server с использованием C # - PullRequest
0 голосов
/ 02 февраля 2019

Я сохраняю срок оплаты каждой транзакции со следующим номером месяца.Он отлично работает в 2019 году, но не работает в 2020 году и так далее.

string Due_Date_Sample;
DateTime Due_Date_var;
public static string format = "yyyy-MM-dd";

using (SqlConnection sqlCon = new SqlConnection(Main.connectionString))
{
    string commandString = "SELECT TOP 1 FORMAT(Due_Date,'dd-MM-yyyy') AS Due_Date FROM Transactions where Plot_Code='" + Plot_Code_var + "' ORDER BY Due_Date DESC;";

    SqlCommand sqlCmd = new SqlCommand(commandString, sqlCon);

    sqlCon.Open();

    SqlDataReader dr = sqlCmd.ExecuteReader();

    while (dr.Read())
    {
        date_control_var = 2;
        Due_Date_Sample = (dr["Due_Date"].ToString());
        Due_Date_var = DateTime.Parse(Due_Date_Sample.ToString());
    }

    dr.Close();
}

Due_Date_var = Convert.ToDateTime(Due_Date_var.ToString(format)).AddMonths(1);
commandstring1 = "INSERT INTO Transactions (Trans_Code,Plot_Code,Plot_No,Inst_No,Inst_Amt,Status,Due_Date,Balance) values ('"
               + Transaction_Code_var + "','" + Plot_Code_var + "','" + Plot_No_var + "','"
               + Inst_No_var + "','" + Inst_Amt_var + "','Due','" + Due_Date_var.ToString(format) + "','" + (Bal_var - int.Parse(Inst_Amt_var)) + "');";//Saving Transactions

SqlCommand sqlCmd = new SqlCommand(commandstring1, sqlCon);

sqlCon.Open();

SqlDataReader dr = sqlCmd.ExecuteReader();

enter image description here

1 Ответ

0 голосов
/ 21 февраля 2019

Я проверил вашу проблему с помощью Entity Framework, она работает правильно, вам не нужен такой длинный код, как вы написали, и EF рекомендуется Microsoft для новых настольных и веб-приложений, проверяющих простой код в EF

using (var context = new ProductionContext())
{

    DateTime PayDate = PaymentDatePicker.Value;  //Payment or Transaction Date 
    DateTime DueDate = PayDate.AddMonths(1);  // due date = Payment date + one month 
    var install = new Instalment();  // object of instalment class/table

   install.PaymentDate = PayDate;
   install.NextDueDate = DueDate;
   context.Instalments.Add(install);
   context.SaveChanges();
}

database Result check image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...