【发布时间】:2012-04-04 08:15:02
【问题描述】:
首先我想提一下,我知道在与数据库的 Web 交互中应该
出于安全原因,始终使用服务器端语言以及 javascript
as is 不提供与 windows 文件系统的兼容性。
这说明我正面临着一种困境,我正在尝试创造性地思考。
我不允许对服务器端脚本和 SQL 进行任何访问。
我需要为 Intranet 创建一个基于客户端的应用程序,该应用程序能够随着时间的推移存储数据。
到目前为止,我已经找到了 2 个解决方案,但没有一个有足够的文档供我正确使用。
一个是一个名为 ACCESSdb 的 javascript 库,可以在这里找到:ACCESSdb
不幸的是,我无法理解如何使用它来写入或读取数据库中的数据......
另一个是那 3 段代码:
添加记录:
function AddRecord() {
var adoConn = new ActiveXObject("ADODB.Connection");
var adoRS = new ActiveXObject("ADODB.Recordset");
adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='/\dbName.mdb'");
adoRS.Open("Select * From tblName", adoConn, 1, 3);
adoRS.AddNew;
adoRS.Fields("FieldName").value = "Quentin";
adoRS.Update;
adoRS.Close();
adoConn.Close();
}
删除记录:
function DeleteRecord() {
var adoConn = new ActiveXObject("ADODB.Connection");
var adoRS = new ActiveXObject("ADODB.Recordset");
adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'");
adoRS.Open("Select * From tblName Where FieldName = 'Quentin'", adoConn, 1, 3);
adoRS.Delete;
adoRS.Delete;
adoRS.Close();
adoConn.Close();
}
编辑记录:
function EditRecord() {
var adoConn = new ActiveXObject("ADODB.Connection");
var adoRS = new ActiveXObject("ADODB.Recordset");
adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'");
adoRS.Open("Select * From tblName Where FieldName = 'Quentin'", adoConn, 1, 3);
adoRS.Edit;
adoRS.Fields("FieldName").value = "New Name";
adoRS.Update;
adoRS.Close();
adoConn.Close();
}
其中只有 添加新记录出于某种原因对我有用...
我还发现要读取第一行中任何单元格的值,我所要做的就是写:
alert(adoRS(cellNum));
但是如何获取后面行中单元格的值?可以说(第 3 行,第 5 单元格)。
感谢您阅读本文!我会非常感谢你的帮助!
杰克
【问题讨论】:
-
我之前没有使用 ActiveXObject 创建的 ADODB,但您可以尝试将
adoRS.Delete更改为adoRS.Delete(),adoRS.Edit更改为adoRS.Edit()和adoRS.Update更改为adoRS.Update()。您需要使用 ms-access db(它位于网络共享或其他地方)? -
谢谢,我会尝试你的建议。是的,它将位于网络驱动器上。你还知道如何从比第一个低的行中提取值吗?
-
你试过
adoRS.moveNext()吗? msdn.microsoft.com/en-us/library/windows/desktop/… -
感谢它确实让我进入了下一个记录。 :) 您是否知道一种无需循环 adoRS.moveNext() 50 次即可直接进入第 50 条记录的方法?比如说 adoRS.moveNext(50) 或类似的东西......
-
我也刚刚尝试了 adoRS.Delte() 并且效果很好。非常感谢普鲁斯。之前我什至懒得看 MSDN 站点,因为我认为那里的所有方法都只适用于微软语言(C、C++、C#、VB ...)我不认为 javascript 也会被支持。期待更复杂的事情。
标签: javascript database ms-access activex ado