- 締切済み
ASPでデータベースの更新をかけるには
ASPでデータベースの更新をかけるには どのようなプログラムを書けばいいか教えてください 言語はVBScriptを使用しています
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- maro
- ベストアンサー率47% (95/199)
更新することができないというのは何かエラーがでるのでしょうか? rs.Field("フィールド名").Value = Request.Form("フィールド名") ではいかがでしょう? フォームからのデータはちゃんと受け取っていますか? レコードセットをアップデートするより、SQL文で"update テーブル名 set フィールド名=value where..."とした方が処理が速いのではないでしょうか?
- selenity
- ベストアンサー率41% (324/772)
Q=5653,#1の回答に対する補足です。 たしか、ActiveServerPageって1つのレコードセットしか同時に 開けなかったと思います。 # いま、手元に資料かないため細かい点は不明です。 多分「現在SQLを使用して必要なフィールドを抽出し、、、」と あるのでここで既に1つADODB.Recordsetが開いています。 このタイミングで必要な情報(Primary Keyの値等)を変数に待避 しておき、一度ADODB.Recordsetを閉じます。 この後改めて、カーソルタイプを書き込みができるモードに 設定すれば、書き込めないでしょうか? または、データベース内のストアドプロシージャ等で対処できないでしょうか?
- selenity
- ベストアンサー率41% (324/772)
まず、データベース上の何を更新したいのかが不明なので何ともいえませんが、 Active Server Pageプログラミング関連の本を読んでActive Server Pageと データベースの両者の操作方法を覚えることをお薦めします。 MS-AccessのVBA(Visual Basic for Applications)で DAO(Data Access Objedt)やADO(ActiveX Data Object)を 利用したコードと似ています。 または、いかに記してある「Users Group」にASPのMLもありますので こちらもご覧ください。
- 参考URL:
- http://www.users.gr.jp/ml/
補足
データベースに登録された内容を変更するASPファイルを作りたいのですが・・・ 現在 SQLを使用して必要なフィールドを抽出し、 RecordsetをOPENしています サンプル集などを見るとその後に rs.Field("フィールド名") = Request.Form("フィールド名")・・・ 最後に rs.Update と書いてあるのでその通りにやってみたのですが 更新することができません この場合何が原因なんでしょうか?