• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP更新・変更ができない)

ASP更新・変更ができない

chinensisの回答

  • chinensis
  • ベストアンサー率40% (54/132)
回答No.9

お疲れ様です。 整理しますと、uIDは、 ・kakuninn.aspでは正しく表示されている ・henkou.aspではResponse.Writeで正しく表示されない ということでしょうか? インタフェースを簡単に確認方法として、FORMのMETHOD=POSTをMETHOD=GETとすると、切り替えられたページのアドレスにパラメタが表示されますので、それを参照するのも手段のひとつです。 とりあえず、現段階の目標を「uIDを正しくhenkou.aspに渡す」ことに専念して、 ・uIDのvalue設定からHTMLEncodeを外す ・METHOD=GETとして内容をアドレスで確認する ・henkou.asp内でResponse.Writeによる印字で確認する 等を行って、uIDが正しく受け渡されるようにしてみてください。 ※現在私から言えるのはこのくらいです。

haruka-00
質問者

補足

chinensisさん お疲れ様です。 有難うございます。 kakunin.asp,henkou.aspとも正しく表示されています。 ・uIDのvalue設定からHTMLEncodeを外しました ・METHOD=GETとして内容をアドレスで確認する METHODをGETに切り替えても、http://localhost/henkou.asp?uID=2&uTYPE=%82T%82%~~~と表示されます。 ・henkou.asp内でResponse.Writeによる印字で確認する ・METHOD=postにしたところhenkou.asp内で印字されます。(getでは表示されません。)

関連するQ&A

  • ASPでAccessのデータを更新、削除

    ASPでAccessのデータベースに対するデータの更新、レコードの 削除が出来ません。(データの検索、参照は出来ています。) DBはAccess2000です。 下記のようなエラーメッセージが出てしまいます。 【エラーメッセージ】 ADODB.Recordset エラー '800a0cb3' オブジェクトまたはプロバイダは要求された操作を実行できません。 /asp/ParsonUP.asp, 行 95 【プログラム】 <% dMode = Request.QueryString("MODE") sSyain = Request.QueryString("SyainNO") sSimei = Request.QueryString("Simei") sKaisya = Request.QueryString("KAISYA") '************* DB コネクション ************************** Dim fPROV,fDBNAME fPROV = "Microsoft.Jet.OLEDB.4.0" fDBNAME = "D:\Inetpub\wwwroot\asp\data\OP_tbl2.mdb" Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.ConnectionString = "Provider=" & fPROV & ";Data Source=" & fDBNAME ObjConn.Open Set ObjRS = Server.CreateObject("ADODB.Recordset") StrSQL = "SELECT * FROM TM_個人情報 WHERE TM_個人情報.社員NO = '" & sSyain & "';" '************************************************** If sSyain<>"" Then Select Case dMode Case "UpDT" '更新登録 ObjRS.Open StrSQL, ObjConn, adOpenStatic With ObjRS .Fields("氏名").Value=sSimei .Fields("所属会社").Value=sKaisya .Update .close End With Case "DelDT" '削除 ObjRS.Open StrSQL, ObjConn ObjRS.Delete End Select Else Response.Write "<H2>処理に失敗しました</H2>" End If %>

  • SQLの同時実行

    SQL文について質問なんですが、下記のようなテーブルがあった場合に『2を3に、3を2にする』というクエリを作ってみましたが、どうもうまくいきません。 ┌─┬──┐ │No│項目│ ├-┼──┤ │1│ああ│ ├─┼──┤ │2│いい│ ├─┼──┤ │3│うう│ └─┴──┘ strSQL1=UPDATE テーブル名 SET No = '2' WHERE No = '3' strSQL2=UPDATE テーブル名 SET No = '3' WHERE No = '2' これをASPから実行する場合は cn.Execute(strSQL1) cn.Execute(strSQL2) とすると、先にstrSQL1が実行されテーブルが更新された後にstrSQL2が実行される ため、 ┌─┬──┐ │No│項目│ ├─┼──┤ │1│ああ│ ├─┼──┤ │3│いい│ ├─┼──┤ │3│うう│ └─┴──┘ となってしまいます。『2つの更新を同時に実行させる』もしくは『2つの更新クエリ1つにする』というようなことはできないものでしょうか?

  • ASPで,mdbファイルへのinsert文のエラー

    ASPで,guestbook.mdbファイルへ接続,はOK, そしてinsert文で新規レコードを追加しようとすると エラーが出てしまいます。 select文は使えるのですが。 エラーの内容は, エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 /asp_server/toda/guestbook.asp, line 24 です。 dbへの接続方法は, '***** データベース(guestbook.mdb)に接続 ***** Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _ Server.Mappath("guestbook.mdb") です。 問題は, '***** 名前とメッセージが空白でないときはデータ追加SQLを実行 ***** StrSQL = "insert into T_Message (name, word, entrydate) " & _ "values ('" & name & "','" & word & "',#" & entrydate & "#)" ObjConn.Execute(StrSQL) ここの,ObjConn.Execute(StrSQL)でエラーが起こります。 なぜエラーが出るのでしょうか。原因と対処方法をおしえていただけませんでしょうか? 「更新可能なクエリであることが必要です。」というエラーなので何かの設定の問題でしょうか?

  • Response.Writeを使用して更新するには

    いつもお世話になってます。 前のページでIDで検索し、更新ボタンをクリックするとkousin.aspへ表示しているIDのレコードをそのまま表示して更新をしたいのですがうまくいきません。 Response.Writeのせいでしょうか?宜しくお願いします。 <%@LANGUAGE="VBSCRIPT"%> <% Dim ObjConn,ObjRS pickup = Request.Form("uID") MSACFN = Server.MapPath("dbname.mdb") DBFile="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MSACFN Set ObjConn = Server.CreateObject("ADODB.Connection") Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjConn.Open DBFile sql="select * from tablename where uID = '"&pickup&"'" Set DBexe = ObjConn.Execute(sql) ObjRS.CursorLocation = 3 ObjRS.Open "select * from tablename" ,ObjConn,3,3 Response.Write "<form method=""POST"" action=""kousin.asp"">" Response.Write "<table width=""519"" border=""1"">" Response.Write "<tr>" Response.Write "<tr><td>" & ("ID") & "</td><td>" & ObjRS("uID") & "</td></tr>" Response.Write "<tr><td>" & ("氏名") & "</td><td>"& ObjRS("uNAME") & "</td></tr>" Response.Write "<tr><td>" & "<input type=""hidden"" value=""uID""><input type=""submit"" value=""更新"" onClick='return checkForm()'><input type=""button"" onclick=""del.asp""name=""削除"" value=""削除""></td>" Loop Response.Write "</table>" ObjRS.close Set ObjRS=Nothing ObjConn.close Set ObjConn=Nothing %>

  • SQLで 全項目を追加したい

    ACCESS97を使用しています。 SQLを使用して、データの全件削除、全件追加を実施したいのです。 追加元(テーブルA)の項目と、追加先(テーブルB)の項目は同じです。 削除の方は下記の内容で上手くいきましたが 追加は実施できませんでした。 追加の時、*アスタリスクを使用する方法などないのでしょうか? Private Sub コマンド0_Click() Dim SQLstr As String Dim DB As Database Dim RS As Recordset Set DB = CurrentDb() SQLstr = "DELETE FROM テーブルB" DB.Execute SQLstr Set DB = Nothing SQLstr = "" SQLstr = "INSERT INTO テーブルB(*) VALUE (テーブルA*)" Set DB = CurrentDb() DB.Execute SQLstr Set DB = Nothing End Sub

  • ACCESSへの更新について

    こんにちは。palbanです。 タイトルどおりVBからACCESSのテーブルにUPDATEをしても (EXCUTEは通ります)テーブルには反映されません。 --------------------ソース-------------------- Private adoCnn As New ADODB.Connection Private adoRec As New ADODB.Recordset Private adoCmd As New ADODB.Command Private strSQL as String strSQL = "Update AAATable Set BBB = 1 ・・・・ adoCnn.Execute (strSQL) adoCnn.BeginTrans adoCnn.CommitTrans ---------------------------------------------- 実際にACCESSにUPDATEをされた方、何か知っている方 ご教授ください。 宜しくお願いします。

  • Yes/Noフラグの値をコピーできない

    すいません。ACCESS2003 VBAで下記の問題で困っています。 新たに作成したmdbファイル(テーブルの中身は空)に既存のmdbファイルのテーブル内容をコピーしたいのですが、Yes/Noフラグ型だけ移行できません。一応サンプルのソースです↓ Dim db As DAO.Database Dim RS As DAO.Recordset Dim strsql As String コピー元のmdbファイルをオープン Set db = OpenDatabase("コピー元mdb") 'SQLの生成 strsql = "" strsql = strsql & " SELECT * FROM テーブル名" 'レコードセット生成 Set RS = db.OpenRecordset(strsql, dbOpenSnapshot, dbReadOnly) 'コピー元テーブルにデータがあるか判定 If RS.RecordCount = 0 Then msgbox "データがありません" Else RS.MoveFirst 'コピー先のデータベースを設定 Set db = OpenDatabase("コピー先mdb") 'レコードの初期化 db.Execute (DELETE FROM コピー先テーブル名) Do While RS.EOF = False strsql = "" strsql = strsql & " INSERT INTO コピー先テーブル名(" strsql = strsql & " ,コピー先のYes/Noフラグ値" ' strsql = strsql & ")VALUES(" strsql = strsql & " ,'"コピー元のYes/Noフラグ値 "' " strsql = strsql & ")" db.Execute (strsql) RS.MoveNext Loop End If RS.Close db.Close

  • AccessSQL COUNT文で該当レコード抽出したい

    初心者です。 Access2000であるテーブルの条件に一致した レコード件数を抽出するSQLを作成しました。 条件に該当しない場合も1件で件数が戻ってきてしまいます。 AccessクエリでSQLを貼り付けて 検証した場合はちゃんと0件になるのですが VBAのコードではうまく件数が抽出されません。 簡単なことだったらごめんなさい。 いろいろなサイトで探した末、 どうしても解決できないので ご教授よろしくお願いします。 Dim strSQL As String Dim db As DAO.Database Dim rs As DAO.Recordset  Dim IntCount As integer 'SQL文を生成 strSQL = "SELECT COUNT(*) AS 件数 FROM テーブル名 " strSQL = strSQL & "WHERE テーブル名.コード = '" strSQL = strSQL & Forms![フォーム名]![txtコード] strSQL = strSQL & "' AND Left([テーブル名]![区分],1) = '" strSQL = strSQL & Forms![フォーム名]![cnb種類].Column(0) strSQL = strSQL & "' AND テーブル名.名称 = '" strSQL = strSQL & Forms![フォーム名]![txt名称] strSQL = strSQL & "';" Set db = CurrentDb Set rs = db.OpenRecordset(strSQL, dbOpenDynaset) IntCount =  rs.RecordCount rs.Close Set db = Nothing Set rs = Nothing

  • DBの更新??

    ソースは下記です。 Set db=Server.CreateObject("ADODB.Connection") db.Provider="Microsoft.Jet.OLEDB.4.0" db.Mode=2 db.ConnectionString=Server.MapPath("../../script/db_dat/crv_haken.mdb") db.Open Set rs=db.Execute("select * from control " ) rs("day-upd") = Request.Form("編集担当") rs("tanto-upd") = date rs.update rs.Close db.Close Set db=Nothing で・・・実行しますと エラー タイプ ADODB.Recordset (0x800A0CB3) 現在の Recordset は更新をサポートしていません。プロバイダか、選択されたロックタイプの限界の可能性があります。 のメッセージがでます。 何が原因でしょうか?お教えください。

  • ASPからのデータベース更新

    こんにちは。 現在ASPでDB登録、削除、更新を実施するごくごく基本的なPageを つくっているのですが、どうしてもDBの更新ができなくて困ってます。。 各パラメータはフォームから入力される(更新される)値です。 If ACTION3 = "edit1" Then db.Execute "UPDATE kekkon SET [名前_姓] = '" & name_sei_kan3 & "',[名前_名] = '" & name_na_kan3 & "',[名前_姓_かな] = '" & name_sei_hira3 & "',[名前_名_かな] = '" & name_na_hira3 & "',[生年月日] = '" & seinen3 & "',[Email] = '" & email3 & "' WHERE [ID] = '" & IDID3 & "'" End If このUPDATEの文で下記のようなエラーがでます。 エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC Microsoft Access Driver] 抽出条件でデータ型が一致しません。 DBはアクセス2002でデータの型は以下のとおりです。 ID:オートナンバー型 名前_姓:テキスト型 名前_名:テキスト型 名前_姓_かな:テキスト型 名前_名_かな:テキスト型 生年月日:日付/時刻型 Email:テキスト型 なぜうまく動かないのか3日間調べましたが、ダメでした。。 素人質問で申し訳ないですが、ヒントを頂ければと思いますので 宜しくお願い致します。