使用Javascript读取和写入访问数据库
Read and write to an access database using Javascript
首先我想提到的是,我知道在web中与数据库的交互应该
由于安全原因以及javascript
as is不提供与windows文件系统的兼容性。
也就是说,我面临着一个艰难的处境,我正在努力创造性地思考
我不允许访问服务器端的脚本和SQL。
我需要为内部网创建一个基于客户端的应用程序,该应用程序将能够随着时间的推移存储数据。
到目前为止,我已经找到了两个解决方案,但没有一个有足够的文档供我正确使用。
一个是名为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)。
谢谢你读到这里!我会非常感谢你的帮助!
Jake
首先,确保'/'''和''''(在连接字符串中)只是SO中的一个拼写错误。
其次,这里是Delete命令的一个版本:
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();
}
请注意,我尚未对此进行测试(目前没有访问权限),因此可能存在一些语法错误。。。
希望它能起作用并有所帮助。
function loadDB() {
var connection = new ActiveXObject("ADODB.Connection");
var connectionstring = "Data Source=.;Initial Catalog=EmpDetail;Persist Security Info=True;User ID=sa;Password=Micr0s0ft;Provider=SQLOLEDB";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
rs.Open("select * from emp", connection);
rs.MoveFirst();
var span = document.createElement("span");
span.style.color = "Blue";
span.innerText = " ID " + " Name " + " Salary";
document.body.appendChild(span);
while (!rs.eof){
var span = document.createElement("span");
span.style.color = "green";
span.innerText = "'n " + rs.fields(0) + " | " + rs.fields(1) + " | " + rs.fields(2);
document.body.appendChild(span);
rs.MoveNext();
}
rs.close();
connection.close();
}
相关文章:
- 尝试使用javascript连接访问数据库
- Cakephp:从视图访问数据库表
- 如何使用javascript访问数据库
- 访问数据库数据类型错误
- 使用 javascript 访问数据库
- 使用 jQuery 循环访问数据库中的 JSON
- 用一个页面创建测试,以确定结果(不能访问数据库或php,需要使用javascript/html/等)
- 如何让用户不访问数据库中的文件
- 使用Javascript读取和写入访问数据库
- Highcharts访问数据库中的所有记录
- javascript访问数据库
- 从mongoldb mapReduce访问数据库变量时出错
- 访问数据库中的所有结果都未定义
- 我需要使用数据库API来访问数据库如何做到这一点
- ASP.net web表单访问数据库使用javascript代替c#
- 从javascript访问数据库
- 连接javascript访问数据库
- 为什么我得到一个未定义的,当我试图访问数据库.集合
- 如何使用AJAX从jquery访问数据库单元格
- 网站正在访问数据库中的信息