2014-02-20 5 views
0

Я пробовал следующий код для установления соединения с базой данных (MS Access) .. Но я получаю сообщение об ошибке, поскольку «Current Recordset не поддерживает обновление. Это может быть ограничение провайдера, или выбранного LockType»Подключение к MS Access с использованием Javascript

<html> 
<head> 
<title>Insertion</title> 
<script type="text/javascript" language="JavaScript" > 
function AddRecord(form) { 
var cn = new ActiveXObject("ADODB.Connection"); 
     var strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\\Users\\deepakgopal\\Desktop\\Testing\\Database3.mdb"; 
     cn.Open(strConn); 
     var rs = new ActiveXObject("ADODB.Recordset"); 
     var SQL = "select count(*) from data"; 
     rs.Open(SQL, cn); 
     alert(rs(0)); 
     rs.AddNew 
     rs.Fields("VDI") = Request.Form("vdi"); 
     rs.Fields("Staff") = Request.Form("staff"); 
     rs.Update; 
     rs.Close(); 
     cn.Close(); 

} 

</script> 
</head> 
<body style="margin:0 auto;"> 
VDI: <input type="text" id="tname" name="vdi" /> 
<br /> 
Staff : <input type="text" id="tpwd" name="staff" /> 
<br /> 
<input type="button" id="btnsbt" name="btnsbt" value="Login" onclick="AddRecord()" /><br /> 

</body> 
</html> 
+0

FYI: этот код только для Internet Explorer – Zam

+0

Вы также пропустите тег

Zam

ответ

5

набор записей вы извлечения содержит только одну строку с одной колонке, содержащей счетчик (COUNT(*)) всех записей в таблице. Этот набор записей не содержит никакой другой информации и не обновляется.

Если вы хотите добавить записи в таблицу, вы должны указать .Close, что набор записей, а затем повторно открыть его с помощью команды SQL, например SELECT * FROM data (примечание: нет COUNT()). Это должно позволить вам использовать .AddNew и .Update для вставки новых записей.

Смежные вопросы