Как добавлять даты каждые 3 месяца в течение года VB.NET
Всем Привет,
У меня есть код, в который я каждый месяц вставляю значения vb.net, что мне сейчас нужно, так это вставлять определенные значения каждые 3 месяца. У меня есть текстовое поле, которое я могу решить, сколько раз или сколько месяцев я хочу вставить в базу данных.
Это код, который я вставляю каждый месяц, сколько раз я хочу :
Dim startdate As DateTime = DateTimePickerFixCosts1.Value Dim enddate As DateTime = startdate.AddMonths(Convert.ToInt32(txtNumberofMonths.Text)) Dim amount As Decimal = Decimal.Parse(txtPriceFixCosts.Text) Const query As String = "INSERT INTO Test_Table(Date,Description,Payment,Quantity,Price,Department,Status,Store) VALUES (@date,@description,@payment,@quantity,@price,@department,@status,@Store)" Do While (startdate > enddate) Using conn As SqlConnection = New SqlConnection("Data Source=#######\SQLEXPRESS;Initial Catalog=Expenses;Trusted_Connection=yes;") Using command As SqlCommand = New SqlCommand(query, conn) command.Parameters.AddWithValue("@description", TxtItemDescFixCosts.Text) command.Parameters.AddWithValue("@payment", TxtPaymentFixCosts.Text) command.Parameters.AddWithValue("@price", amount) command.Parameters.AddWithValue("@date", startdate) command.Parameters.AddWithValue("@status", ComboBox1.Text) command.Parameters.AddWithValue("@quantity", TextBoxIDd.Text) command.Parameters.AddWithValue("@department", TxtFixCosts.Text) command.Parameters.AddWithValue("@Store", TxtStore.Text) conn.Open() command.ExecuteNonQuery() ' NB: Don't use ExecuteReader when the query doesn't return anything! startdate = startdate.AddMonths(1) End Using End Using Loop MsgBox("Your Data has been Inserted")
Что я уже пробовал:
Я пытался изменить добавить месяцев до другой номер, но он ничего не запишет.
If CategoryBox.SelectedItem = "Monthly" Then Dim startdate As DateTime = DateTimePickerFixCosts1.Value Dim enddate As DateTime = startdate.AddMonths(Convert.ToInt32(txtNumberofMonths.Text)) Dim amount As Decimal = Decimal.Parse(txtPriceFixCosts.Text) Const query As String = "INSERT INTO Test_Table(Date,Description,Payment,Quantity,Price,Department,Status,Store) VALUES (@date,@description,@payment,@quantity,@price,@department,@status,@Store)" Do While (startdate > enddate) Using conn As SqlConnection = New SqlConnection("Data Source=#######\SQLEXPRESS;Initial Catalog=Expenses;Trusted_Connection=yes;") Using command As SqlCommand = New SqlCommand(query, conn) command.Parameters.AddWithValue("@description", TxtItemDescFixCosts.Text) command.Parameters.AddWithValue("@payment", TxtPaymentFixCosts.Text) command.Parameters.AddWithValue("@price", amount) command.Parameters.AddWithValue("@date", startdate) command.Parameters.AddWithValue("@status", ComboBox1.Text) command.Parameters.AddWithValue("@quantity", TextBoxIDd.Text) command.Parameters.AddWithValue("@department", TxtFixCosts.Text) command.Parameters.AddWithValue("@Store", TxtStore.Text) conn.Open() command.ExecuteNonQuery() ' NB: Don't use ExecuteReader when the query doesn't return anything! startdate = startdate.AddMonths(3) End Using End Using Loop MsgBox("Your Data has been Inserted") End If
Поэтому мне нужно вставлять эту определенную информацию каждые 3 месяца в течение определенного периода времени, но это не работает так.
Любая помощь очень ценится.
Благодарно
Maciej Los
Пожалуйста, не надо репост!
Member 13410460
Это основано на ежеквартальной, ежегодной, полугодовой вставке, основанной на количестве повторений вставки. Это не одно и то же.
Спасибо