У меня есть приведенный ниже код в html-файле, и я пытаюсь установить соединение с базой данных MS Access, чтобы проверить входящего пользователя.
<html>
<head>
<title>Login</title>
<script type=”text/javascript” language=”JavaScript” >
// 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
// ” C:\Users\navyatejav\Documents\BSC Payroll Tracking.accdb ” is the MS Access database
var cn = new ActiveXObject(“ADODB.Connection”);
var strConn = “Provider=Microsoft.ace.OLEDB.12.0; Data Source = Z:\OPERATIONS\BSC Payroll\Advisors\BostonSci_Agent\New\DBR\BSC Payroll Tracking_be.accdb“;
var rs = new ActiveXObject(“ADODB.Recordset”);
var SQL = “select password from Agents where username = ‘” + usname + “‘”;
cn.Open(strConn);
rs.Open(SQL, cn);
if(!rs.eof)
{
if(rs.fields(0).value == pwd)
location.href=’main.htm?uname=’+usname;
else
alert(‘wrong username or password!’);
}
else
alert(‘wrong username or password!’);
rs.Close();
cn.Close();
}
</script>
</head>
<body style=”margin:0;”>
<table width=”1000px” cellpadding=”0? cellspacing=”0?>
<tr>
<td style=”height:200px;background-image:url(images/top.jpg);”>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
Username : <input type=”text” id=”tbuname” name=”tbuname” />
<br />
Password : <input type=”text” id=”tbpwd” name=”tbuname” />
</td>
</tr>
<tr>
<td>
<Button onclick=”checkLogin()”>Login</Button>
</tr>
</table>
</body>
</html>
Однако, когда я нажимаю на кнопку входа, ничего не происходит. Пожалуйста помоги!!!
4 ответа
Это решено. Я добавил \ в пути базы данных вместо \, который делает трюк. Спасибо за все предложения.
Проблема в ActiveXObject. Только IE имеет поддержку ActiveX, так что это не будет работать в любом другом браузере.
90% этого кода не является стандартным JavaScript, этот код должен запускаться только в старой версии Microsoft Internet Explorer
Прогнали ваш JS через JSHint, и он выполнил пинг. Развернул его, заменив юникод (’
& ”
):
// Function to Check the login from MS Access database
function checkLogin() {
var usname, pwd, cn, strConn, rs, SQL;
usname = document.getElementById("tbuname").value;
pwd = document.getElementById("tbpwd").value;
cn = new ActiveXObject("ADODB.Connection");
strConn = "Provider=Microsoft.ace.OLEDB.12.0; Data Source = Z:\OPERATIONS\BSC Payroll\Advisors\BostonSci_Agent\New\DBR\BSC Payroll Tracking_be.accdb";
rs = new ActiveXObject("ADODB.Recordset");
SQL = "SELECT password FROM Agents WHERE username = '" + usname + "'";
cn.Open(strConn);
rs.Open(SQL, cn);
if(!rs.eof){
if(rs.fields(0).value === pwd){
location.href = "main.htm?uname=" + usname;
} else {
alert("wrong username or password!");
}
} else {
alert("wrong username or password!");
}
rs.Close();
cn.Close();
}
Отчет о JSHint:
В этом файле только одна функция.
Это не требует никаких аргументов.
Эта функция содержит 16 операторов.
Число цикломатической сложности для этой функции равно 3. 8 ActiveXObject 10 ActiveXObject
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.