不考虑安全问题,需求是这样的。代码如下:但是不能取得表里面的值,我在sql查询器里试过没问题,function dataconnect(sql){
// 创建数据库对象
var objdbConn = new ActiveXObject("ADODB.Connection");
// DSN字符串
var strdsn = "Driver={SQL Server};SERVER=192.168.0.107,1433;UID=sa;PWD=dv;DATABASE=db";
// 打开数据源
objdbConn.Open(strdsn);
// 执行SQL的数据库查询
//var objrs = objdbConn.Execute("SELECT * FROM njshq");
var sql="select 经度,纬度 from njshq where 测量 like '路%'";
var objrs = objdbConn.Execute(sql);
// 获取字段数目
var fdCount = objrs.Fields.Count - 1;
// 检查是否有记录
if (!objrs.EOF){
// 显示数据库内容
var sArray = new Array();
while (!objrs.EOF){
// document.write("<tr>");
// 显示每笔记录的字段
var b="";
for (i=0; i <= fdCount; i++) {
b =objrs.Fields(i).Value;
alert(b);
}
objrs.moveNext(); // 移到下一个记录
sArray.push(b);
}
return sArray;
}
else
objrs.Close(); // 关闭记录集合
objdbConn.Close(); // 关闭数据库链接
}
[code="javascript"]
var conn = new ActiveXObject("ADODB.Connection"); conn.Open("Provider=SQLOLEDB.1; Data Source=tgf; User ID=sa; " +"Password=sasa; Initial Catalog=MyBulletin"); var rs = new ActiveXObject("ADODB.Recordset"); var sql="select id,name from Category"; rs.open(sql, conn); alert(rs(0));//取出第一个来 rs.close(); rs = null; conn.close(); conn = null;//连接ACCESS
var array=new Array();//声明数组 function conn(){ var db_bbs db_bbs="dd.mdb"//定义数据库 var conn = new ActiveXObject("ADODB.Connection"); conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+db_bbs+""); var rs = new ActiveXObject("ADODB.Recordset"); var sql="select name from authors"; //数据库中有authors表,name字段 rs.open(sql,conn); alert(rs(0))//取出第一个来 for(var i=0;i<rs.length;i++) { array.push(rs(i));//存入数组 } conn.close(); conn = null; }[/code]
上面一种是通过索引来读取查询结果中的每一列
也可以通过 列名来读取数据
var arrays=new Array();
var Rs = new ActiveXObject("ADODB.Recordset");
var tempstr="";
Rs.Open("select result,id from Issue_3D where result='071'",ConnDB,1,3);
while(!Rs.EOF)
{
arrays.push(Rs("result"));
rrays.push(Rs("id"));
Rs.MoveNext;
}