電子書籍の厳選無料作品が豊富!

恐れ入ります。
ACCESS (mdb)でIIS環境にてASPを使ってwebアプリを作成しようとしています。
データの登録、削除まではうまくいっているのですが、更新(修正)ができません。
やりたいことは、データの内容の詳細が表示されている画面から、更新ボタンを押すと、更新フォームに移動、更新用フォームにはあらかじめデータの登録内容が表示されていて、内容を更新し、ボタンをクリックすると、データが更新される。です。
更新用ページは以下のように表示させました。
----------------------------------------------------------------
<% Sub koushin() %>
<%
sCoString = "DBQ=" & Server.MapPath("./FAQdatabase.mdb") & ";"
sCoString = sCoString & "DefaultDir=" & Server.MapPath("./") & ";"
sCoString = sCoString & "Driver={Microsoft Access Driver (*.mdb)};DriverId=25;"
sCoString = sCoString & "FIL=MS Access;ImplicitCommitSync=Yes;"
sCoString = sCoString & "MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;"
sCoString = sCoString & "SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open sCoString
sSQL = "SELECT * FROM メインテーブル where id = " & Request("key")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sSQL, cn, 3, 3,1
%>
<form action="Correction.asp" method="POST" name="correction">
<p>ID(変更不可):<br>
<input type="text" size="50" name="ID" readonly value="<% = rs("ID") %>">
<p>案件名:<br>
<input type="text" size="50" name="category" value="<% = rs("category") %>"></p>
<p>
件名:<br>
<input type="text" size="50" name="title" value="<% = rs("title") %>"></p>
<p>本文:<br>
<textarea name="text" cols="50" rows="20"><% = rs("text") %></textarea></p>
<p>
<input type="submit" value="送信する">
<input type="reset" value="リセット">
</p></form>
-------------------------------------------------------
更新用スクリプトは以下のようにしました
<%
sCoString = "DBQ=" & Server.MapPath("./FAQdatabase.mdb") & ";"
sCoString = sCoString & "DefaultDir=" & Server.MapPath("./") & ";"
sCoString = sCoString & "Driver={Microsoft Access Driver (*.mdb)};DriverId=25;"
sCoString = sCoString & "FIL=MS Access;ImplicitCommitSync=Yes;"
sCoString = sCoString & "MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;"
sCoString = sCoString & "SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open sCoString
sSQL = "SELECT * FROM メインテーブル where id = " & Request("key")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sSQL, cn, 3, 3, 1
RS("category") = REQUEST.FORM("category")
RS("title") = Request.Form("title")
RS("text") = Request.Form("text")
rs.UpDate
%>
修正されました。
-------------------------------------------------------
エラーとしては、「クエリ式 'id =' の 構文エラー : 演算子がありません。 」と表示されます。
なんとか御力をお貸し願えませんでしょうか。

A 回答 (1件)

こんにゃくはございます。

(何。

一般的に、朝はドタバタする人間が多く、自分も例外では無いため、短めな回答で。


>>sSQL = "SELECT * FROM メインテーブル where id = " & Request("key")

更新用スクリプト~の方のコレ。
ホント、SQL文組めてます?

「request("key")」するのはいいですけど、本当に取得出来ているかが疑問です。(送信してるかは、質問文中からじゃ分からない感じなので。


とりあえず、そこらじゅうに、「response.write」を突っ込んで、本当に値のやり取りが出来ているか確認するのがこういうときのお約束です。
後は、必要そうでしたらまた補足させていただきたいと思います。
    • good
    • 0
この回答へのお礼

試行錯誤の結果なんとかなりました。ありがとうございました。

お礼日時:2009/03/22 23:48

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