Попытка вставить разные наборы результатов с помощью одного оператора вставки путем проверки - PullRequest
2 голосов
/ 15 июля 2011

У меня есть winform с четырьмя текстовыми полями и двумя выпадающими списками и кнопкой Сохранить

текстовые поля похожи на эти

  • Текстовое поле Startdate со значением, введенным в текстовое поле 2011-03-02 (Гггг-мм-дд)

  • Текстовое поле конца со значением, введенным в текстовом поле 2013-09-04 (гггг-мм-дд)

  • текстовое поле «день платежа», значение, введенное в это текстовое поле (2011-03-15) (15 март 2011 г.)

  • текстовое поле с обязательным платежом со значением, введенным в этом поле: 120,00.

  • выпадающий список выплат со значениями 12 месяцев, 24 месяца наличные

  • выпадающий список платных опций со значениями ежегодно, ежемесячно

и у меня есть стол

       paymentschedule 
     columns:         paymentscheduleid
                      datetobepaid
                      amountdue
                      paymentoption 

при нажатии кнопки сохранения значения сохраняются в таблице, как указано ниже.

это будет набор результатов, если «оплаченная опция» ежемесячна, а набор результатов указан ниже (оплаченная опция ежемесячно)

  paymentscheduleid      datetobepaid      amountdue      paymentoption

       1                   2011-04-15        120.00        12 months cash
       2                   2011-05-15        120.00        12 months cash
       3                   2011-06-15        120.00        12 months cash
       4                   2011-07-15        120.00        12 months cash
       -                       -              -                  -
       -                       -              -                  -
       -                       -              -                  -
       20                 2013-08-15        120.00         12 months cash

если оплачиваемая опция - годовая, тогда набор результатов будет таким (платная опция - годовая)

       paymentscheduleid      datetobepaid      amountdue      paymentoption

             1                  2011-04-15        120.00         12 month cash
             2                  2012-04-15        120.00         12 months cash
             3                  2013-04-15        120.00         12 months cash

datetobpaid зависит от начальной даты и значения, введенного в текстовое поле срок оплаты

возможно ли использовать одиночные вставки с использованием mysql и c #

поможет ли кто-нибудь по этой проблеме

большое спасибо ......

1 Ответ

1 голос
/ 15 июля 2011

Это отлично работает на MS Sql, вы можете изменить его на Mysql, как вам нужно:

declare @DueDate Datetime
declare @EndDate Datetime

declare @PaidOption varchar(10)
set @PaidOption='Monthly'

set @DueDate='2011-03-15'
set @EndDate='2013-09-04'


if @PaidOption='Monthly' -- for monthly
Begin
set @DueDate=DATEADD(month,+1,@DueDate)
WHILE @DueDate<@EndDate
BEGIN  
--insert statement use @duedate for datetobepaid and other values are as you input
  set @DueDate=DATEADD(month,+1,@DueDate)

END
End
Else -- for yearly
Begin
set @DueDate=DATEADD(Year,+1,@DueDate)
WHILE @DueDate<@EndDate
BEGIN  
--insert statement use @duedate for datetobepaid and other values are as you input
  set @DueDate=DATEADD(year,+1,@DueDate)

END
End

здесь Paidoption и другие поля устанавливаются статически. Хотя вы можете использовать его в качестве входных параметров

Надеюсь, что это может решить вашу проблему

...