本文介绍如何使用 JavaScript 的 ActiveXObject 组件连接 Access 和 SQL Server 数据库。通过 ADODB.Connection 和 ADODB.Recordset 对象,演示了查询、增加、删除和修改数据的具体代码实现,包含完整的 HTML 页面结构和 SQL 语句拼接示例。
JavaScript 操作 Access 数据库示例
使用 JavaScript 操作 Access 数据库的方法与其他编程语言类似,以下总结了一些常用代码片段,仅供学习参考。
假设 F 盘存在文件 abc.mdf(实际应为 .mdb),表名为 Student,包含两个字段:Id 为数字类型主键,stuName 为文本类型。下面将演示对该表进行增、删、改、查的操作。
1. 查询操作
具体代码如下:
<HTML>
<HEAD>
<TITLE>数据查询</TITLE>
<Script >
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=f://abc.mdb;DRIVER={Microsoft Access Driver (*.mdb)};");
var rs = new ActiveXObject("ADODB.Recordset");
var sql="select * from Student";
rs.open(sql, conn);
var html="";
while(!rs.EOF)
{
html=html+rs.Fields("Id")+" "+rs.Fields("stuName");
rs.moveNext();
}
document.write(html);
rs.close();
rs = null;
conn.close();
conn = null;
</script>
</HEAD>
<BODY>
</BODY>
</HTML> 2. 增加操作
具体代码如下:
<HTML>
<HEAD>
<TITLE>增加操作</TITLE>
<script language="javascript">
function addUser(id,stuName)
{
//用 JavaScript 写服务器端连接数据库的代码示例
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=F://abc.mdb;DRIVER={Microsoft Access Driver (*.mdb)};");
var sql="insert into Student(ID,stuName) values("+id+",'"+stuName+"')";
try{
conn.execute(sql);
alert("添加成功");
}
catch(e){
document.write(e.description);
alert("添加失败~~~");
}
conn.close();
}
</script>
</HEAD>
<BODY>
<table width=100 border=1>
<tr bgcolor='#f4f4f4'>
<td>编号</td>
<td>姓名</td>
</tr>
<tr>
<td><input id="stuId" /></td>
<td><input id="stuName"/></td>
</tr>
</table>
<input name="1" type="button" value="添加" onclick="addUser(stuId.value,stuName.value)"/>
</BODY>
</HTML> 3. 删除操作
具体代码如下:
<HTML>
<HEAD>
<TITLE>删除操作</TITLE>
<script language="javascript">
function delStu(id)
{
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=F://abc.mdb;DRIVER={Microsoft Access Driver (*.mdb)};");
var sql="delete from Student where Id=2";
conn.execute(sql);
conn.close();
conn = null;
alert("修改成功");
}
</script>
</HEAD>
<BODY>
<input name="1" type="button" value="删除" onclick="delStu(1)"/>
</BODY>
</HTML> 4. 修改操作
具体代码如下:
<HTML>
<HEAD>
<TITLE>修改操作 </TITLE>
</HEAD>
<script>
function updateUser(userId,userName)
{
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=F://abc.mdb;DRIVER={Microsoft Access Driver (*.mdb)};");
var rs = new ActiveXObject("ADODB.Recordset");
var sql="update Student set stuName='" + userName + "' where Id=" + userId + "";
conn.execute(sql);
conn.close();
conn = null;
alert("修改成功");
}
</script>
<BODY>
<table width=100 border=1>
<tr bgcolor='#f4f4f4'>
<td>编号</td>
<td>姓名</td>
</tr>
<tr>
<td><input id="stuId" /></td>
<td><input id="stuName"/></td>
</tr>
</table>
<input name="1" type="button" value="修改" onclick="updateUser(stuId.value,stuName.value)"/>
</BODY>
</HTML> JavaScript 操作 SQL Server 数据库示例
此外,JavaScript 也可以用于操作 SQL Server 数据库。
示例中数据库名为 MySchool,表名为 Student,StudentId 为 int 类型且为自增列,studentName 为学生姓名,类型为 varchar。数据库用户名为 sa,密码为 ok。
具体代码如下:
<HTML>
<HEAD>
<TITLE>SQL数据查询</TITLE>
<Script >
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("Driver={SQL server};Server=.;DataBase=MySchool;UID=sa;Password=ok;");//打开数据库
var rs = new ActiveXObject("ADODB.Recordset");
var sql="select * from Student";
rs.open(sql, conn);
var html="";
while(!rs.EOF)
{
html=html+rs.Fields("StudentId")+" "+rs.Fields("studentName")+"<br/>";
rs.moveNext();
}
document.write(html);
rs.close();
rs = null;
conn.close();
conn = null;
</script>
</HEAD>
<BODY>
</BODY>
</HTML>