• 締切済み

卒業研究でホームページを作成しています

今、卒業研究でホームページ作成をしています。accessのデータをホームページに反映させるためにjavascriptを使用しているのですが知識がなくエラーがたくさん出ます。ソースを貼りますので誰かわかる方教えて下さい エラーの内容は「~はnullまたはオブジェクトではありません」というものです。 var database; var r01; var r02; onload = init; onunload = dbClose; function init(){ dbConnect(); dataDisp(); } //データベースに接続 function dbConnect() { database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=F:\\ikumi\\SampleDB010\\SampleDB010.mdb;"); alert("データベースに接続しました。"); } //データベースを切断 function dbClose() { database.Close(); database = null; alert("データベースを切断しました。"); } function focus(obj){ obj.style.backgroundColor = "#ffff00"; } function blur(obj){ obj.style.backgroundColor = "#ffffff"; } //データ表示 function dataDisp() { if (r01[0].checked){ var mySql = "SELECT * FROM 1 WHERE [1].station='大分'"; alert("SQL"); var recordSet = database.Execute(mySql); var tempHtml=""; document.getElementById("disp").innerHTML = ""; while (!recordSet.EOF){ tempHtml = tempHtml + recordSet(0) + "; " + "<br />"; recordSet.MoveNext(); } document.getElementById("disp").innerHTML = tempHtml; recordSet.Close(); recordSet = null; /**/; var mySql = "SELECT * FROM 1 "; var recordSet = database.Execute(mySql); var tempHtml=""; document.getElementById("disp").innerHTML = ""; while (!recordSet.EOF){ tempHtml = tempHtml + recordSet(0) + "; " + "<br />"; recordSet.MoveNext(); } document.getElementById("disp").innerHTML = tempHtml; recordSet.Close(); recordSet = null; /**/}; } SQL文がいまいちよく分からないので、 多分SQLの部分のエラーだと思います。

  • MySQL
  • 回答数1
  • ありがとう数2

みんなの回答

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

SQL文でFROMのあとが1となってますが「1」というテーブルって作成できましたっけ? 出来たとしても、普通そんな名前にしないですね。 また何だかSQLを2回実施してるようですが同じ"disp"に設定してるのはなぜ?

関連するQ&A

  • MSアクセスの、サーバーでの設定について

    よろしくお願いします。 マイクロソフトアクセスのデータベースを対応したサーバーにアップロードしたところ、ローカルでは動いていたのですが、サーバー上では、動かなくなりました。その時のJavascriptファイルを書きます。 var database; onload = init; onunload = dbClose; function init() { document.getElementById("txtPrefCd").onblur = function (){blur(this);} document.getElementById("txtPrefCd").onfocus = function (){focus(this);} document.getElementById("txtPrefName").onblur = function (){blur(this);} document.getElementById("txtPrefName").onfocus = function (){focus(this);} dbConnect(); dataDisp(); } //データベースに接続 function dbConnect() { database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/hogehoge/db/SampleDB010.mdb"); alert("データベースに接続しました。"); } //データベースを切断 function dbClose() { database.Close(); database = null; alert("データベースを切断しました。"); } function focus(obj){ obj.style.backgroundColor = "#ffff00"; } function blur(obj){ obj.style.backgroundColor = "#ffffff"; } //データ表示 function dataDisp() { var mySql = "select * from T01Prefecture order by PREF_CD"; var recordSet = database.Execute(mySql); var tempHtml=""; document.getElementById("disp").innerHTML = ""; while (!recordSet.EOF){ tempHtml = tempHtml + recordSet(0) + ":" + recordSet(1) + "<br />"; recordSet.MoveNext(); } document.getElementById("disp").innerHTML = tempHtml; recordSet.Close(); recordSet = null; /**/ } 以上です。 どうも、データベースに接続のところがうまくいきません。 Dim Conn Set Conn = Server.CreateObject("ADODB.Connection") strConnection = "DRIVER=Microsoft Access Driver(*.mdb);DBQ=" & Server.MapPath("/USERNAME/db/yourdatabase.mdb") Conn.Open(strConnection) としても、 Dim Conn Set Conn = Server.CreateObject("ADODB.Connection") Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ Server.MapPath ("/YourUSERNAME/db/yourdatabase.mdb") & ";" Conn.Open としても、ダメでした。 どうすればよいのか分からないので、どこをどうすればよいのか、どなたかご教授願います。 よろしくお願いします。

  • null 判定について

    javascriptに関して質問させて下さい。 accessのDBのデータをHTML上で表示・追加・削除・更新を行っています。 DB上のデータで空欄の項目を表示させたときに null が表示されます。 nullではなく空欄にしておきたいので、null判定チェックを 行っているのですが、ひっかかってくれない状態です。 ------------- var database; database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\mydb.mdb;"); var mySql = "select 種別, 内容 from Aテーブル; var recordSet = database.Execute(mySql); var tempHtml = "種別=" + recordSet(0); if(recordSet(1) != null){ tempHtml = tempHtml + "<br>内容=" + recordSet(1); }else{ tempHtml = tempHtml + "<br>内容="; } (略) --------------- recordSet(0)=種別 recordSet(1)=内容 上記のように普通にnull判定をしてるつもりなのですが、 recordSet(1)=内容 が access上で空欄の場合=null もif文内に入り、 「null」という文字列が表記されます。 ※accessからとってきたデータではなく、  javascript内で null を設定した場合はチェックにひっかかっています。 var tmp = null; if(tmp == null){ alert("nullである"); } 何が悪いかお分かりになる方、ご回答お願いします。

  • ボタンに書かれている文字の入れ替え

    2つのボタンのどちらを押しても、ボタンに書かれているアルファベットが入れ替わるようにしたいのですが、うまくいきません。 alert(obj1)、alert(obj2)などとして、A,Bともに読み込まれているようなのですが、alert(tmp)の時はundefinedがでます。 どこが間違っているのかよろしければ教えてください。 <!doctype html> <html> <head> <meta charset="utf-8"> <title>勉強中</title> </head> <body> <script> function change_alphabet() { var tmp; var obj1 = document.getElementById("button_1").value; var obj2 = document.getElementById("button_2").value; // alert(obj1); // alert(obj2); tmp = obj1.innerHTML; // alert(tmp); obj1.innerHTML = obj2.innerHTML; obj2.innerHTML = tmp; // alert(obj2); } </script> < input type = "button" id = "button_1" value = "A" style = "width: 25px; height: 25px" onclick = "change_alphabet()" > < input type = "button" id = "button_2" value = "B" style = "width: 25px; height: 25px" onclick = "change_alphabet()" > <body> </html>

  • ソースが難しくて初心者にわかるようにどなたか教えて

    https://okwave.jp/qa/q9365480.html の続き 初心者なのでソースだけではわかりません。 もう少し具体的に何をやっているか教えていただければ幸いです。 >>> functionaddCR( obj ){ id=obj.id; strArray[ id - 0 ]+='\r\n'; alert(obj.parentNode.outerHTML) obj.innerHTML+='<br>'; } 恐らくここで、テキストをクリックしたとき、クリックした場所で改行されるようですが、もう少し初心者にわかるように解説いただけませんか? これは何を再代入しているのですか? id=obj.id; 変数A += 変数Bは、変数A = 変数B+変数Aなので、 配列になにかしているのですか? strArray[ id - 0 ]+='\r\n'; なぜこれでクリックしたところにbrがつくのでしょうか? obj.innerHTML+='<br>'; https://codepen.io/anon/pen/xLWmZv ソース <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>test</title> </head> <body> <textarea>ここに文章を入力してください</textarea> <button>表示</button> <button>出力</button> <textarea id="out" readonly></textarea> <div id="disp"></div> <script type="text/javascript"> varstrArray; functionaddCR( obj ){ id=obj.id; strArray[ id - 0 ]+='\r\n'; alert(obj.parentNode.outerHTML) obj.innerHTML+='<br>'; } functiondisp(){ var str=document.getElementsByTagName('textarea')[0].value; strArray=str.split(''); vardiv=document.getElementById('disp'); div.innerHTML=''; var aProto=document.createElement('a'); for( var i =0, len=strArray.length; i<len; i++ ){ vara=aProto.cloneNode(1); a.onclick=function(){ addCR(this); } a.innerText=strArray[ i ]; a.id=i div.appendChild(a); } } functionoutput(){ var outText=document.getElementsByTagName('textarea')[1]; outText.value=strArray.join("") } document.getElementsByTagName('Button')[0].onclick=function(){ disp() } document.getElementsByTagName('Button')[1].onclick=function(){ output() } </script> </body> </html>

  • getElementByIdを使用したグローバル変数の定義(使い方について) 

    グローバル変数の定義について教えてください。 getElementByIdを、グローバル変数で使用することはできないのでしょうか? 【グローバル変数(整数)】の場合 ------------------------------------------------- //グローバルで整数を定義 var a = 10; function test(){ alert(a.value); } 結果:「10」が表示される。 ------------------------------------------------- 【グローバル変数(getElementByIdを使用)の場合】 ------------------------------------------------- //グローバルでgetElementByIdで取得したオブジェクトを定義 var a = document.getElementById("objname"); function test(){ alert(a.value); } 結果:「null」 が表示される。 ※a = document.getElementById("objname"); でも同様。 ------------------------------------------------- 【ローカル変数(getElementByIdを使用)の場合】 ------------------------------------------------- function test(){ //ローカルでgetElementByIdで取得したオブジェクトを定義 var a = document.getElementById("objname"); alert(a.value); } 結果:「画面入力値」 が表示される。 ------------------------------------------------- このように getElementByIdで取得したオブジェクトを、 グローバル変数として扱った場合、nullとなるので困っています。 getElementByIdで取得したオブジェクトを、 グローバル変数として扱う良い方法はないでしょうか? 【環境】 OS:WindowsXP Pro 使用JavaScript:外部ファイルのjavaScript

  • Googlemapで始点~次のステップ間の距離を

    私は現在、GoogleMapで現在地から指定した目的地までのルートを表示させたあとに、 始点(Start_location)から次のステップ(曲がり角)の緯度経度を次々と表示させていき、 最終的に 1、現在地の緯度経度 2、曲がり角(1)の緯度経度 3、曲がり角(2)の緯度経度 4、曲がり角(3)~ というようにを表示させたいのですが、 緯度経度(X,Y)を表示させると function (){return this[a]}  で文字が表示されます。 緯度経度を表示させるためにはどういった書き方なのかを教えてください。 計算を行っているソースは以下です。 //◆総距離合計 function computeTotalDistance(result) { var total = 0; var myroute = result.routes[0];     for (i = 0; i < myroute.legs.length; i++)     {     total += myroute.legs[i].distance.value;     }     total = total / 1000. var disp_total = document.getElementById("disp_total");     disp_total.innerHTML = "total:" + total + " km"; document.getElementById("X1").innerHTML = myroute.legs[0].start_location.lat;     document.getElementById("Y1").innerHTML = myroute.legs[0].start_location.lng;     document.getElementById("X2").innerHTML = myroute.legs[1].start_location.lat;     document.getElementById("Y2").innerHTML = myroute.legs[1].start_location.lng; }

  • google マップ サイズ変更

    グーグルマップで、windowsのサイズ変更をしたら、地図の大きさも材レクトに変わるという処理をしたく、ウェブを参考に作ったのですが、 ローカルだと、firefox,opera,ie6でできるのですが、 HPにuploadすると、operaでしか実現できません。他のだと地図サイズが変化しません。 どなたかアドバイスいただけたら幸いです。 //<![CDATA[ //スクリプト定義 var map; var latLng = new GLatLng(43,14); // 初期位置設定 function load() { resize(); if (GBrowserIsCompatible()) { //Google Maps 利用可能? map = new GMap2(document.getElementById("map")); // マップ1 map.setCenter(latLng, 13); // 起動時初期位置 } } function resize(){ var map_obj=document.getElementById("map"); var disp=getDispSize(); map_obj.style.width=disp.width-100+"px"; map_obj.style.height=disp.height-100+"px"; } function getDispSize(){ if(document.all){ if(window.opera){ return {width:document.body.clientWidth,height:document.body.clientHeight}; } else { return {width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}; } } // NN else if(document.layers || document.getElementById){ return {width:window.innerWidth,height:window.innerHeight}; } } //]]>

  • for in と 接続演算子について

    <!-- function check(){ var flag = 0; if(document.registform.user.value==""){ flag = 1; var error1 = document.getElementById("error1"); if(error1 == null){ var element1=document.createElement("div"); element1.innerHTML='<span class="error0" id="error1">ユーザー名を入力してください。</span>'; var ojbody1=document.getElementById("td_error1"); ojbody1.appendChild(element1); } } if(document.registform.pass.value==""){ flag = 1; var error2 = document.getElementById("error2"); if(error2 == null){ var element2=document.createElement("div"); element2.innerHTML='<span class="error0" id="error2">パスワードを入力してください。</span>'; var ojbody2=document.getElementById("td_error2"); ojbody2.appendChild(element2); } } if(document.registform.pass2.value==""){ flag = 1; var error3 = document.getElementById("error3"); if(error3 == null){ var element3=document.createElement("div"); element3.innerHTML='<span class="error0" id="error3">パスワード(確認)を入力してください。</span>'; var ojbody3=document.getElementById("td_error3"); ojbody3.appendChild(element3); } } if(flag == 0){ return true; }else{ return false; } } //--> javascript初心者です。 この処理をfor(key in array)を使って簡単にできるかも... と思ったんですが接続演算子の使い方がよくわかりません。 プログラム自体初心者独学で手探りでやっているため考え方が間違っている場合などありましたらアドバイス等もいただけたらうれしいです。 if(document.registform.user(☆).value==""){ flag = 1; var error1(☆) = document.getElementById("error1(☆)"); if(error1(☆) == null){ var element1(☆)=document.createElement("div"); element1(☆).innerHTML='<span class="error0" id="error1(☆)">ユーザー名(☆)を入力してください。</span>'; var ojbody1(☆)=document.getElementById("td_error1(☆)"); ojbody1.appendChild(element1(☆)); }} (☆)のところが接続演算子が使えればと思いました。 例えばvar element + key でelement1の変数というのは無理なのでしょうか? もし可能ならgetElementById("error + key ")はどういった書き方をすればよいでしょうか? よろしくお願いします。

  • innerHTMLに代入したインラインフレームのDIVの値の取得について

    下記のソースは「読み込み」ボタンを押した時にあらかじめ用意してた<div id="box">にインラインフレームを代入し、「値取得」ボタンを押したら、'sample.html'内のdivの値「keisan」をアラートで表示する記述です。このソース内容を、ボタンのイベントで「keisan」の値を取得するのではなく、<body>のonLoadでページを開いた瞬間にアラートが 出るようにしたいのですが、お分かりになる方はいらっしゃいますでしょうか? わかりにくい説明ですみません。どうかよろしくお願いします。 <html> <head></head> <body> <div id="box"></div> <input type="button" value="読み込み" onClick="Details.changeURL('sample.html')" /> <input type="button" value="値取得" onClick="Details.showMessage('keisan')" /> </body> <script type="text/javascript"> <!-- var Details = (function(){ var handle = document.getElementById('box'); var buffer = null; return { changeURL: function(url){ handle.innerHTML = "<iframe src=\""+url+"\" id=\"ifr\"></iframe>"; }, showMessage: function(id){ buffer = document.getElementById('ifr').contentWindow.document; alert(buffer.getElementById(id).innerHTML); } } })(); //--> </script> </html>

  • GoogleMapで設定したルート上の曲角の座標

    GoogleMapで設定したルート上の曲がり角の座標を表示させたいです。 現在のソースは以下↓なのですがこれだと 目的地A、目的地Bの座標が出てしまうのですが、設定した目的地までの曲がり角全ての座標を出したいです。 よろしくお願いします。 計算しているソース //◆総距離合計 function computeTotalDistance(result) { var total = 0; var myroute = result.routes[0];     for (i = 0; i < myroute.legs.length; i++)     {     total += myroute.legs[i].distance.value;     }     total = total / 1000.     document.getElementById("disp_total").innerHTML = total + " km"; document.getElementById("X1").innerHTML = myroute.legs[0].start_location.lat();     document.getElementById("Y1").innerHTML = myroute.legs[0].start_location.lng();     document.getElementById("X2").innerHTML = myroute.legs[1].start_location.lat();     document.getElementById("Y2").innerHTML = myroute.legs[1].start_location.lng(); }