• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JScriptでDBへの接続方法について)

JScriptでDBへの接続方法について

このQ&Aのポイント
  • JScriptを使用してDBへの接続方法を教えて下さい。
  • 接続がうまくいかない理由を教えてください。
  • どなたかご教授下さい。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Gimli
  • ベストアンサー率47% (9/19)
回答No.2

サーバ側のスクリプトとクライアント側のスクリプトがごっちゃになってませんか? 名前ボタンのイベントで指定している btn_onclick2 関数は、サーバ側の関数なので呼べません。 名前ボタンを押したら、エクセルの"sheet2"のレコードを取ってきて、テキストエリアに表示としたいのでしょうか? ならば、以下のようにすればどうでしょう。 <% function btn_onclick2() { 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; sSQL = "SELECT * FROM [sheet2$]"; rs.Open(sSQL, conn) var str = "名前\n"; while (!rs.EOF) { str += rs.Fields('name') + "\n"; rs.MoveNext(); } Response.Write(str); rs.Close; conn.Close; } %> </head> <body> <div class="base"> <form name="frm" method="post" action="#"> <table> <tr class="tdb"><td colspan="2"><input type="submit" value="名前" name="S1"></td></tr> <td colspan="2"><textarea name="txt" rows="10" cols="60" ID="Textarea1"><% if (Request.Form.Count > 0) btn_onclick2(); %></textarea></td> </table> </form> </div>

tomsky
質問者

お礼

ご教授ありがとうございます。 表示することができました。 今後は、書き込み・削除・検索の勉強をしていこうと思っています。 クライアント側で試しに作ってみて、 サーバ側にもっていくやりかたをしていたもので、 自分でも混乱していました。 ASPでのJScriptの使用を解説しているものが少ないので、 非常に助かりました。 また、宜しくお願い致します。 忙しいところ、早急に回答していだだき ありがとうございました。

その他の回答 (1)

  • Gimli
  • ベストアンサー率47% (9/19)
回答No.1

こんな感じでどうでしょう? 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; sSQL = "SELECT * FROM [sheet2$]"; rs.Open(sSQL, conn);

tomsky
質問者

補足

ご教授ありがとうございます。助かります。 上記記述を使用し、下記のように作成したのですがエラーが起こってしまいました。 <% function btn_onclick2() { 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; sSQL = "SELECT * FROM [sheet2$]"; rs.Open(sSQL,conn) var str = "名前\n"; while (!rs.EOF) { str += rs.Fields('name') + "\n"; rs.MoveNext(); } document.frm.txt.value = str; rs.Close; conn.Close; } %> </head> <body> <div class="base"> <form name="frm" method="post" action="tes2.asp"> <table> <tr class="tdb"><td colspan="2"><input type="submit" value="名前" onclick="btn_onclick2()"></td></tr> <td colspan="2"><textarea name="txt" rows="10" cols="60" ID="Textarea1"></textarea></td> </table> </form> </div> 長文なってすみませんが、このような使用はできないのでしょうか? お忙しいところ申し訳ありませんが、ご教授下さい。 環境は、windows xp sp2 IISを使用しています。

関連するQ&A