- - PR -
Accessへのupdateについて
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-01-06 10:12
JSPでのデータベースアクセスにおきまして、jdbcを使ってのアクセスをしているのですが
updateがうまくできません。下記のような記述で構文エラーが出てきてしまいます。 色々試してみてはいるのですが、何度やってもうまくいきません。どなたかお力を貸してください。お願いします。 【記述】 String sql = "update FileList set" + "num='" + num + "'," + "filename='" + filename + "'," + "date='" + date + "'" + "where num ='" + num + "'"; | ||||
|
投稿日時: 2003-01-06 10:15
書き忘れましたが、num,filename,dateはそれぞれrequest.getParameterで引数を受け取っているものとしています。
| ||||
|
投稿日時: 2003-01-06 10:16
setの後ろとwhereの前にスペースがないから駄目ってことはないですか? | ||||
|
投稿日時: 2003-01-06 10:42
>焼きそばさん
返信、どうもありがとうございます。 今必要だと思われる個所(ご指摘部含む)にスペースを入れてみたのですが、 相変わらずupdateステートメント構文エラーが出てきます。変更後の文は以下のようになりました。 String sql = "update FileList set " + "num='" + num + "', " + "filename='" + filename + "', " + "date='" + date + "'" + " where num ='" + num + "'"; | ||||
|
投稿日時: 2003-01-06 10:57
まずはsqlをログにでも書き出してみて、直接Accessに対して実行してみたら
もうちょっと現象がわかりやすいのではないですか? ぱっとみて怪しそうなのは以下。 ・dateの形式は正しいか ・num列ってCHARだったりVARCHARだったりするか | ||||
|
投稿日時: 2003-01-06 11:01
#あけましておめでとうございます m(_ _)m
最後に ; がいるのではないでしょうか? String sql = "update FileList set " + "num='" + num + "', " + "filename='" + filename + "', " + "date='" + date + "' where num ='" + num + "';"; ひとまず、実行時にsqlが何になっているかをプリントアウトしてみてから解析すると分かりやすくなりますよ。 | ||||
|
投稿日時: 2003-01-06 11:04
>まりりさん
返信、ありがとうございます。 date,num,filenameともすべてString型です。 以下、記述文です。やりたいことは、ブックマークサンプルの改造版なんですけど、 なかなかうまいこと動いてくれません・・・。 String num = request.getParameter("num"); String date = request.getParameter("date"); String filename = request.getParameter("filename"); MyDBAccess db = new MyDBAccess(); db.open(); if(num != null) { String sql = "update FileList set " + "num='" + num + "', " + "filename='" + filename + "', " + "date='" + date + "'" + " where num ='" + num + "'"; db.execute(sql); } else { String sql = "insert into FileList values" + "('" + num + "', '" + filename + "', '" + date + "')"; db.execute(sql); } db.close(); | ||||
|
投稿日時: 2003-01-06 13:04
Accessって日付型は#でくくるんだったような気がします。これは関係ないのかな? | ||||
