У меня есть приведенный ниже код в 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);”>
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</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>

Однако, когда я нажимаю на кнопку входа, ничего не происходит. Пожалуйста помоги!!!

2
Teja 19 Дек 2015 в 01:03

4 ответа

Лучший ответ

Это решено. Я добавил \ в пути базы данных вместо \, который делает трюк. Спасибо за все предложения.

0
Teja 19 Дек 2015 в 11:30

Проблема в ActiveXObject. Только IE имеет поддержку ActiveX, так что это не будет работать в любом другом браузере.

0
Ahmed Monaem 18 Дек 2015 в 22:58

90% этого кода не является стандартным JavaScript, этот код должен запускаться только в старой версии Microsoft Internet Explorer

0
salc2 18 Дек 2015 в 22:14

Прогнали ваш 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

0
Twisty 18 Дек 2015 в 22:37