2017-03-19 8 views
0
  <div class="main-container"> 

        Username:<br> 
        <input type="text" name="uname" value="Username"> 
        <br> 
        Password:<br> 
        <input type="password" name="pword" value="Password"> 
        <br><br> 
        <input type="submit" value="AddRecord"> 
        <input type="reset" value="Cancel"> 
      </div> 
     </div> 
</body> 

<script type="text/javascript"> 
function AddRecord() { 
var adoConn = new ActiveXObject("ADODB.Connection"); 
var adoRS = new ActiveXObject("ADODB.Recordset"); 

adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\\Documents\\Writings.mdb"); 

adoRS.Open("Select * From User", adoConn, 1, 3); 
     if(!rs.bof){ 
     rs.MoveFirst(); 
      while(!rs.eof){ 
       var data=rs(1); 
       if(data==user.value){ 
       alert("This user already exists!"); 
       exists=1; 
       }else{ 
       break; 
       rs.movenext(); 
       } 
      } 
     } 

if(exists!=1){ 


adoRS.AddNew; 
adoRS.Fields("UserName")=user.value; 
adoRS.Update; 

adoRS.Close(); 
adoConn.Close(); 

alert("User successfully registered!"); 
document.cookie=user.value; 

window.location="https://www.google.co.uk"; 
} 
</script> 

これは機能しません。ボタンは何もしません。私はデータベースを移動しようとしましたが、それも動作しません。現在Google Chromeを使用しています。私のデータベースはWritingsと呼ばれ、フォルダ文書です。 ウェブサイトはテキストボックスから入力された情報をテーブルに入れてそれをテーブルに入れることになっていますが、何らかの理由でうまくいかない場合はJavaScriptを使用してAccessデータベースにリンクするにはどうすればよいですか?

答えて

0

ウェブページを作成するときに、提出してください。あなたが示したコードでは、データベースはローカルなので、100人が提出したい場合は、それぞれが独自のデータベースを持つか、すべて同じコンピュータを使用する必要があります。 この種のジョブでは、中央データベースと連携しているWebサービスを使用する必要があります。次に、javascriptを使用してそのサービスを呼び出して、データベースにデータを挿入できます。たとえば、MS SQLサーバやAccessデータベースでc#を使用したり、mysqlでphpを使用したりすることができます。

+0

ActiveXの代わりに何が使えますか? –

+0

Webサービスを作成してからサービスをDBに接続する必要があります –

0

ActiveXを使用してアクセスデータベースに接続しています。

を(ActiveXObjectをが何をしたかである)COMオブジェクトを作成するには、ネイティブのActiveXのサポート(古いIE)またはAでブラウザを使用する必要があるだろう:this answerが示すように、これは、クロムでは動作しません。あなたは古いスタイル(NPAPI)の "プラグイン"を使用したり書き込んだりすることができます。

すべての主要ブラウザは、NPAPIプラグインメカニズムのサポートを中止しています。

したがって、スクリプトにActiveXを有効にした古いInternet Explorerを使用する必要があります。

これは古い技術であり、もう使用しないでください。データベースを中央サーバーに移動します。

+0

ActiveXの代わりに何が使えますか? –

+0

したがって、簡単な方法は、あなたのアクセスデータベースをSQL Serverインスタンスにインポートし、あなたが選んだ言語/プラットフォームで何らかのバックエンドを構築することです。データベースをクライアントに保存したい場合は、[sqliteへのアクセスファイルの変換](https://github.com/arturasn/mdb2sqlite)を試し、[sql.js](https:// github.com/kripken/sql.js)。しかし、私はこのトピックの専門家ではありません - これは単なるアイデアです。あなた自身で少し研究してください... – ventiseis

関連する問題