gpt4 book ai didi

javascript - 使用 Javascript 读取和写入 Access 数据库

转载 作者:可可西里 更新时间:2023-11-01 02:11:46 25 4
gpt4 key购买 nike

首先我想提一下,我知道在网络中与数据库的交互应该
出于安全原因以及 javascript
的事实,始终使用服务器端语言按原样不提供与 Windows 文件系统的兼容性。

那是说我正面临困境,我正在尝试创造性地思考。
我无权 Access 服务器端脚本和 SQL。

我需要为内部网创建一个基于客户端的应用程序,该应用程序能够随着时间的推移存储数据。

到目前为止,我已经找到了 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)。

感谢您阅读到这里!非常感谢您的帮助!

jack

最佳答案

首先,确保“/\”和“\”(在连接字符串中)只是 SO 中的拼写错误。

其次,这是删除命令的一个版本:

function DeleteRecord() {
var adoConn = new ActiveXObject("ADODB.Connection");
var adoCmd = new ActiveXObject("ADODB.Command");

adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'");
adoCmd.ActiveConnection = adoConn;
adoCmd.CommandText = "Delete * From tblName Where FieldName = 'Quentin'";
adoCmd.Execute();

adoConn.Close();
}

然后,编辑命令(无需循环 -> 更新所有 [匹配] 记录):

function EditRecord() {
var adoConn = new ActiveXObject("ADODB.Connection");
var adoCmd = new ActiveXObject("ADODB.Command");

adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'");
adoCmd.ActiveConnection = adoConn;
adoCmd.CommandText = "Update tblName Set FieldName = 'New Value' Where FieldName = 'Quentin'";
adoCmd.Execute();

adoConn.Close();
}

请注意,我还没有测试过这个(现在没有 Access 权限),所以可能会有一些语法错误...

希望它有效并有所帮助。

关于javascript - 使用 Javascript 读取和写入 Access 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9777038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com