2017-03-19 18 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調用該服務以將數據插入數據庫。例如,你可以使用C#MS MSSQL服務器甚至Access數據庫或使用PHP與MySQL。

+0

我可以用什麼來代替ActiveX? –

+0

您應該編寫一個Web服務,然後服務必須連接到DB –

0

您正在使用ActiveX連接到Access數據庫。這不會在Chrome中工作,因爲this answer表示:

要創建一個COM對象(這是什麼的ActiveXObject所做的那樣),你需要使用瀏覽器原生支持的ActiveX(舊IE)或瀏覽器,你可以使用和/或寫一箇舊式(NPAPI)「插件」。

由於其周圍的安全問題,所有主流瀏覽器已停止或正在積極(無雙關)中斷對NPAPI插件機制的支持。

因此,您必須使用爲您的腳本啓用ActiveX的舊Internet Explorer。

這是舊技術,不應再使用。將您的數據庫移動到中央服務器。

+0

我可以使用什麼來代替ActiveX? –

+0

所以,簡單的方法是將您的訪問數據庫導入到sql服務器實例中,並用您選擇的語言/平臺構建某種後端。如果你想保持你的數據庫在客戶端上,你可以嘗試[將訪問文件轉換爲sqlite](https://github.com/arturasn/mdb2sqlite)並使用[sql.js](https:// github.com/kripken/sql.js)。但我不是這個話題的專家 - 這只是一個想法。請自行研究一下... – ventiseis

相關問題