あなたの習慣について教えてください!!

アクセスのデータベースのフィールドを日付/時刻型にしております。aspでINSERTを使用しています。テキスト型でしたら、NULLの許可がありますが、日付/時刻型にはそのような項目がありません。時刻型にNULLでセットしたいのですが、その方法がわかりません。いろいろ調べましたが…。ご伝授の程、よろしくお願い致します。

例.
フィールドaにhtmlから引きわたったTimesをセットする。
※Timesには空白("")がRequestされています。
 テーブル名db_1

書き込み(##を使用していません)
insert INTO db_1(a)VALUES ('"& Request("Times") &"')"

更新
update db_1 set a=#"& Request ("times") & "# where id = "&Request ("id")&"")

A 回答 (3件)

#2について、


ちょっと、そちらでどういう風にやられているのかはよくわからないのですが、
多分、SQLコマンドを文字列のような形で保持して
発行されてるんだと思うのですが、
そうだとすると、単に、文字列(SQLコマンド)を動的に作ればいいですよね。
つまり、
"INSERT INTO db_1 VALUES ( field1,field2 ,field3 ,field4 );"
のfieldの各部分を必要なら
~" & IIF(Request("Times")="","NULL","'" & Request("Times") & "'") & "~
に置き換えればいいと思うのですが
IIFがVBScriptにないとしても、言いたいことは同じです。(変数にして置き換えすればいいですよね)
    • good
    • 0

#1の補足について


IFを使うしかないと思いますが、

IF Request("Times")="" then
insert INTO db_1(a)VALUES (NULL)
ELSE
insert INTO db_1(a)VALUES ('"& Request("Times") &"')"
END IF
みたいな感じでうまくいきませんか?

この回答への補足

ありがとうございます。

Time(時刻型)の項目が5つあります。そのすべての判定を行うにはIFで判定させると、すこし苦労します。

Timeの項目がNULLの場合は、NULLをVALUES ('"& Request("Times") &"')にセットしたいのですが‥

すみませんがよろしければ、ご指導の程、宜しくお願い致します。

補足日時:2004/10/19 10:09
    • good
    • 0

NULLをINSERTでセットする場合は


単に
VALUES(NULL)
だと思います。
なので、Timesが空白の時NULLをセットするようなものと振り分けたらいいと思います。

勘違いしてたらすみません。

この回答への補足

早速の回答ありがとうございます。

>Timesが空白の時NULLをセットするようなものと振り分けたらいいと思います。

詳しく教えていただけないでしょうか。

普通時(2004/10/15など)と空白時(NULL)を区別させるにはどのようにすればよろしいでしょうか。

空白時にはVALU(#'& times &'#)をVALUE(NULL)にするには、IF文を使うしかありませんのでしょうか。

ご指導の程、よろしくお願いいたします。

補足日時:2004/10/18 21:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報