连接到 MS Access 数据库的网页
Webpage to connect to MS Access Database
我想从网页内连接到 MS Access 数据库。我不太关心安全性,因为它仅在内部工作服务器上 运行。我已经尝试了以下代码(JavaScript 和 HTML),并且遇到了被广泛记录的问题(在 Chrome、Firefox 等上不起作用),我也无法得到它为 MS Edge 工作。
<script>
// Function to Check the login from MS Access database
function checkLogin()
{
var usname = document.getElementById("tbuname").value;
var pwd = document.getElementById("tbpwd").value;
// Code to connect the MS Access database using java Script
var cn = new ActiveXObject("ADODB.Connection");
var strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = W:/TestDatabase.accdb";
var rs = new ActiveXObject("ADODB.Recordset");
// Assume there is a table in MS Access database with the name "tUSERS", below is the query for authentication
//var SQL = "select PASSWORD from tUSERS where USERNAME = ‘" + usname + "‘";
var SQL = "select * from tUSERS" ;
cn.Open(strConn);
rs.Open(SQL, cn);
if(!rs.eof)
{
if(rs.fields(0).value == pwd){
document.getElementById("demo").innerHTML = rs.fields(1).value;
location.href="main.htm?uname="+usname; }
else
alert("wrong username or password!");
}
else {
alert("wrong username or password!");
rs.Close();
cn.Close(); }
};
</script>
<body style="margin:0;">
<table width="1000px" cellpadding="0″ cellspacing="0″>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
Username : <input type="text" id="tbuname" name="tbuname" />
<br />
Password : <input type="password" id="tbpwd" name="tbuname" />
</td>
</tr>
<tr>
<td>
<input type="button" id="btnsbt" name="btnsbt" value="Login" onclick="checkLogin()"><br />
<br />
</td>
</tr>
<p id="demo"></p>
</table>
</body>
任何人都可以用现代的方式帮助我吗?我的理解是 cn =new ActiveXObject("ADODB.Connection")
现在已经过时了。
注意:我不太可能说服 IT 安装任何额外的库等。服务器目前没有 PHP 功能。我一直在寻找,但找不到我在这里尝试过的代码示例。
我熟悉 HTML、VBA、SQL,并且才刚刚开始接触 JavaScript,所以一些手握会很好
:)
谢谢
Edge 不支持没有插件的 ActiveX。尝试使用 Internet Explorer 或获取插件。您可能还需要将数据库保存为旧的 Access 2003 mdb 格式,JET 驱动程序才能工作。
您也可以使用 python 或节点脚本从 MS Access 的网络服务器中检索记录,但这将花费您更长的时间来学习。
我想从网页内连接到 MS Access 数据库。我不太关心安全性,因为它仅在内部工作服务器上 运行。我已经尝试了以下代码(JavaScript 和 HTML),并且遇到了被广泛记录的问题(在 Chrome、Firefox 等上不起作用),我也无法得到它为 MS Edge 工作。
<script>
// Function to Check the login from MS Access database
function checkLogin()
{
var usname = document.getElementById("tbuname").value;
var pwd = document.getElementById("tbpwd").value;
// Code to connect the MS Access database using java Script
var cn = new ActiveXObject("ADODB.Connection");
var strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = W:/TestDatabase.accdb";
var rs = new ActiveXObject("ADODB.Recordset");
// Assume there is a table in MS Access database with the name "tUSERS", below is the query for authentication
//var SQL = "select PASSWORD from tUSERS where USERNAME = ‘" + usname + "‘";
var SQL = "select * from tUSERS" ;
cn.Open(strConn);
rs.Open(SQL, cn);
if(!rs.eof)
{
if(rs.fields(0).value == pwd){
document.getElementById("demo").innerHTML = rs.fields(1).value;
location.href="main.htm?uname="+usname; }
else
alert("wrong username or password!");
}
else {
alert("wrong username or password!");
rs.Close();
cn.Close(); }
};
</script>
<body style="margin:0;">
<table width="1000px" cellpadding="0″ cellspacing="0″>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
Username : <input type="text" id="tbuname" name="tbuname" />
<br />
Password : <input type="password" id="tbpwd" name="tbuname" />
</td>
</tr>
<tr>
<td>
<input type="button" id="btnsbt" name="btnsbt" value="Login" onclick="checkLogin()"><br />
<br />
</td>
</tr>
<p id="demo"></p>
</table>
</body>
任何人都可以用现代的方式帮助我吗?我的理解是 cn =new ActiveXObject("ADODB.Connection")
现在已经过时了。
注意:我不太可能说服 IT 安装任何额外的库等。服务器目前没有 PHP 功能。我一直在寻找,但找不到我在这里尝试过的代码示例。
我熟悉 HTML、VBA、SQL,并且才刚刚开始接触 JavaScript,所以一些手握会很好
:)
谢谢
Edge 不支持没有插件的 ActiveX。尝试使用 Internet Explorer 或获取插件。您可能还需要将数据库保存为旧的 Access 2003 mdb 格式,JET 驱动程序才能工作。
您也可以使用 python 或节点脚本从 MS Access 的网络服务器中检索记录,但这将花费您更长的时间来学习。