2011-06-21 24 views
0

次のSQL文が上記のエラーを返す理由は誰にも分かりますか?条件式のデータ型の不一致

SSQL = "INSERT INTOテーブル名(FIELD_NAME)VALUES(" " '" &のRequest.Form(POSTval)& "' "")"

POSTValこのクエリ以来最初のフォームテキストボックスから文字列を含まなければなりません私たちが正しい場所にいることを保証するためにifステートメントによってのみ呼び出されます。ありがとう!

P.S. MS AccessのDB

+0

fyi - その方法でクエリを作成すると、アプリに大きなセキュリティホールができます。 –

答えて

1

を使用して、私は私がしようとするだろうと思う:

myinsert= Request.Form("POSTval") 
sSQL="INSERT INTO Table_Name (field_name) VALUES ('" & myinsert & "')" 

あなたはまたのRequest.Form( "POSTval")が値を持ち、NULLでないことを確認することがあります。

+0

いいえ、変更はありません...他のアイデアは? – user578086

+0

はい。データベース内のフィールドが数値型ではなくテキストであることを確認します。 – mikeY

+0

私は私の問題を解決することができました。私は、Access DBテーブル自体のデザインビューがあることに気づいておらず、このビュー内では、他のすべてのフィールドとは異なり、テキストの代わりにオートナンバー型に設定されていました。テキストにフィールドの種類を変更すると、私の問題が解決しました。 – user578086

0

Request.FormはMapであり、キーはStringsであるため、引用符を使用する必要があります。

Request.Form("POSTval") 
+0

このコマンドを引用符で囲んだりしたりしないでも、違いはありません。その他の提案はありますか? – user578086

+0

私はあなたのフォームがPostメソッドを使用していて、POSTvalフィールドが割り当てられていることを納得しています(テキストフィールドのような隠しフィールドoフォーム要素など)。そうですか? – fdaines

関連する問題