0

DateMySQL データベースに日数を追加することに疑問があります。以下は私のコードです:

res=stat.executeQuery("select st_date from tmp1 where st_date = '"+t1.getText()+"'");
while(res.next())
{
    System.out.println(res.getDate(1));
    int i=0;
    while(i<14)
    {
        statement.executeUpdate("Insert into datetab values(DATE_ADD('"
            +res.getDate("st_date")+"',INTERVAL 1 DAY),'"+tempname+"')");
        i=i+1;
    }
}

表の更新はすべて行われdatetabますが、問題があります。例を挙げて問題を説明します。tmp1 テーブルの日付が 28-12-2000 の場合、 を使用して挿入クエリを実行するとdate_add()、13 個の新しい挿入が行われますが、これらの挿入はすべて「29-12-2000」です。

4

1 に答える 1

0

tmp1 テーブルの日付が 28-12-2000 の場合、date_add() を使用して挿入クエリを実行すると、13 個の新しい挿入が行われますが、これらの挿入はすべて「29-12-2000」です。

それはまさにあなたが求めているものだからです。あなたの挿入文は次のとおりです。

"Insert into datetab values(DATE_ADD('" + res.getDate("st_date") + 
    "',INTERVAL 1 DAY),'" + tempname + "')"

はループ内で変化しないためread.getDate、すべての繰り返しで同じ値が挿入されます。

の代わりに"Interval 1 DAY""Interval " + i + " Day"別の日を挿入する必要があります。それはあなたが探しているものですか?

于 2013-01-08T00:11:54.710 に答える