- 締切済み
JScriptでDBへの書き込み方法
フォームの値をDBへ書き込みたいのですが、エラーになってしまいます。 tes.aspのフォームからw_com.aspで処理し、tes.aspへもどるということが やりたいのですが、どなたかご教授ください。 エラーは、w_com.aspのconn.Execute(sSQL);で落ちているようなのですが 書き方に問題があるのでしょうか? SQL文自体は平気でした。(クライアントで動かしたところ) また、Response.Redirect("tes.asp");というのは、使用できないのでしょうか?使用できないとしたら、どのような方法でしたらできるのでしょうか? 乱筆で申し訳ありませんが、ご教授願います。 宜しくお願い致します。 === tes.asp === <form name="frm2" method="post" action="w_com.asp"> <input type=hidden name="test1"> <input type=Button value=a onclick="a()"> </form> </body> </html> <script> function a(){ btn_onclick3(); document.frm2.submit(); } </script> === w_com.asp === <%@ language=JScript %> <% var sSQL = Request.Form("test1"); var conn = Server.CreateObject("ADODB.Connection"); var rs = Server.CreateObject("ADODB.Recordset"); conn.ConnectionString = "DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=" + Server.Mappath("tes.xls"); conn.Open; conn.Execute(sSQL); conn.Close; Response.Redirect("tes.asp"); %>
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Gimli
- ベストアンサー率47% (9/19)
> アドバイスに対しての質問なのですが、 > 「データソースファイルをメモ帳などで開いて」の > 「データソースファイル」とは、何を指すのでしょうか? > この件の場合は、「エクセルファイル」のことでしょうか? ファイルDSN(データソース名)のつもりでした。 DSN を使ってるんじゃないんだったら、スルーして下さい。すみません。
- Gimli
- ベストアンサー率47% (9/19)
データソースファイルをメモ帳などで開いて、解析してみるのはどうでしょう。DSNでの設定とConnectionオブジェクトのデフォルトの設定で、何か差異があるかもしれませんよ。
補足
アドバイスありがとうございます。 返事が遅くなり大変申し訳ありません。 アドバイスに対しての質問なのですが、 「データソースファイルをメモ帳などで開いて」の「データソースファイル」とは、何を指すのでしょうか? この件の場合は、「エクセルファイル」のことでしょうか? 教えて下さい。 宜しくお願いします。
- Gimli
- ベストアンサー率47% (9/19)
では、以下を参考にしてください。 http://support.microsoft.com/default.aspx?scid=kb;ja;175168
補足
ありがとうございます。 返事が遅くなり、申し訳ありません。 参考にして色々試してはいるのですが、 ODBC データソース名を指定して接続するとエラーは起こりませんでした。 DNS-LESS接続の指定の仕方が良くないのでしょうか? お忙しいところ調べて頂きありがとうございました。
- Gimli
- ベストアンサー率47% (9/19)
Execute でエラーが出てるとのことですが、エラー詳細も提示した方がいいと思いますよ。 あと、Redirect でもエラーが出てるのでしょうか?これもエラーの詳細を提示した方がいいですよ。
補足
すみません。ありがとうございます。 エラー タイプは、 Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Excel Driver] 更新可能なクエリであることが必要です。 とででいました。 Redirectの方は、エラーではなかったようです。(直接の原因ではありませんでした。) ご指摘ありがとうございました。
お礼
わかりました。 色々試してみたいと思います。 色々とアドバイスをありがとうございました。