//創(chuàng)建數(shù)據(jù)庫連接對象
var conn = new ActiveXObject("ADODB.Connection");
//創(chuàng)建數(shù)據(jù)集對象
var rs = new ActiveXObject("ADODB.Recordset");
try{
//數(shù)據(jù)庫連接串,具體配置請參考:http://www.connectionstrings.com/
//如果不知道如何配置連接串,可以通過配置UDL文件后用文本編輯器打開獲得
var connectionstring = "Driver={MySQL ODBC 5.2w Driver};Server=localhost;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;Port=3306";
//打開連接
conn.open(connectionstring);
?
//查詢語句
var sql = " select * from tb_col ";
//打開數(shù)據(jù)集(即執(zhí)行查詢語句)
rs.open(sql,conn);
(或者rs=conn.execute(sql);)
//遍歷所有記錄
while(!rs.eof){
//WScript是Windows 的腳本宿主對象,詳細情況請在windows幫助里查找。
//WScript.Echo輸出記錄的內(nèi)容
WScript.Echo(rs.Fields("id") + "\t" + rs.Fields("name") + "\n");
?
//下一條記錄
rs.moveNext();
}
//關(guān)閉記錄集
rs.close();
//關(guān)閉數(shù)據(jù)庫連接
conn.close();
} catch(e){
//異常報告
WScript.Echo(e.message);
} finally{
//
}
Javascript訪問MYSQL
1、下載MYSQL的ODBC連接http://www.mysql.com/downloads/connector/odbc/;
2、在JS中建立ODBC連接如下:
var con = new ActiveXObject("ADODB.Connection");
con.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};OPTION=3;SERVER=127.0.0.1;User ID=root;Password=123456;Database=mysql;Port=3306";?
con.open;
var rs = new ActiveXObject("ADODB.Recordset");
rs.open("select * from user", con);
while (!rs.eof) {
var u = rs.Fields("User");
document.write(u);
rs.moveNext;
}
rs.close();
rs = null;
con.close();
con = null;
需要注意連接字符串中Driver的名稱與安裝后的ODBC中的Drivers頁中的MYSQL名稱一致即可!
JavaScript中操作Mysql數(shù)據(jù)庫實例教程
//創(chuàng)建數(shù)據(jù)庫連接對象?
var conn = new ActiveXObject("ADODB.Connection");?
//創(chuàng)建數(shù)據(jù)集對象?
var rs = new ActiveXObject("ADODB.Recordset");?
try{?
//數(shù)據(jù)庫連接串,具體配置請參考:http://www.connectionstrings.com/?
//如果不知道如何配置連接串,可以通過配置UDL文件后用文本編輯器打開獲得?
var connectionstring = "Driver={MySQL ODBC 5.2w Driver};Server=localhost;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;Port=3306";?
//打開連接?
conn.open(connectionstring);?
?
//查詢語句?
var sql = " select * from tb_col ";?
//打開數(shù)據(jù)集(即執(zhí)行查詢語句)?
rs.open(sql,conn);?
(或者rs=conn.execute(sql);)?
//遍歷所有記錄?
while(!rs.eof){?
//WScript是Windows 的腳本宿主對象,詳細情況請在windows幫助里查找。?
//WScript.Echo輸出記錄的內(nèi)容?
WScript.Echo(rs.Fields("id") + "\t" + rs.Fields("name") + "\n");?
?
//下一條記錄?
rs.moveNext();?
}?
//關(guān)閉記錄集?
rs.close();?
//關(guān)閉數(shù)據(jù)庫連接?
conn.close();?
} catch(e){?
//異常報告?
WScript.Echo(e.message);?
} finally{?
//?
}?
JavaScript DataBase Connector
JSDBC:提供Javascript有效的連接數(shù)據(jù)庫,目前支持MySQL、SQLite、ACCESS,后期會支持更多的數(shù)據(jù)庫;
在從事AJAX開發(fā)的工程師肯定會希望有一個通過AJAX直接連接數(shù)據(jù)庫的組件,這樣,可以省掉后臺很多的操作步驟,比如免去了部署Java的運行環(huán)境,免去了寫很多復雜的JDBC調(diào)用,不管出于調(diào)試的需要還是應(yīng)用的需要,JSDBC都能夠很好的集成到您的應(yīng)用當中。
/**
* 類說明:該腳本主要是實現(xiàn)與JSDBC for MySQL 連接,方便用戶在js直接使用MySQL
* 創(chuàng)建事件:2009-06-12
*/
//Include OCX Object
document.writeln(" <OBJECT? id='mysql' classid='clsid:9C579403-6745-4695-B14C-96212D319F18'");?
document.writeln(" codebase='JSDBC_MySQL.ocx#Version=1,0,0,000'");?
document.writeln(" WIDTH='0'? HEIGHT='0'>");?
document.writeln(" </OBJECT>");
//error message
var lasterr = "";
//Exec Falg
var execFlag;
/**
* Connecte to mysql server
* provite:MySQL IP,PORT,DB Name,USER,Password,CharSet
*/
function connectMySQL()
{
execFlag = mysql.connecte("127.0.0.1","3306","testdb","root","123210","GBK");
if(execFlag == 1)
? return 1;
else
{
? lasterr = mysql.getLastError();
? return 0;
}
}
/**
* Close already open Connection
*/
function closeMySQL()
{
execFlag = mysql.close();
if(execFlag == 1)
? return 1;
else
{
? lasterr = mysql.getLastError();
? return 0;
}
}
/**
* Exec Insert Into SQL statement
* @param {Object} sql
*/
function insertMySQL(sql)
{
execFlag = mysql.insertData(sql);
if(execFlag == 1)
? return 1;
else
{
? lasterr = mysql.getLastError();
? return 0;
}
}
/**
* Exec DataBase Manager Language
* @param {Object} sql
*/
function execDMLMySQL(sql)
{
execFlag = mysql.execDML(sql);
if(execFlag == 1)
? return 0;
else
{
? lasterr = mysql.getLastError();
? return 0;
}
}
/**
* Exec Select Data From DataBase
* @param {Object} sql
* @param {Object} cnum == Number of fields in SQL statement
*/
function selectMySQL(sql,cnum)
{
var rs = mysql.selectData(sql,cnum);
if(rs.length > 0)
{
? var array = new Array();
? var DataSet = new Array();
? var rowsplit = '';//行間隔 ,注意,這并不是普通的'-',而是0x06 轉(zhuǎn)換而來的,使用時拷貝過去即可
? var fieldsplit ='';//字段間隔,注意,這并不是普通的'|',而是0x05 轉(zhuǎn)換而來的,使用時拷貝過去即可
?
? array = rs.split(rowsplit);
? for(var i = 0;i < array.length; i++)
? {
? var DataRow = array[i].split(fieldsplit);
? DataSet[i] = DataRow;
? }
? return DataSet;
}
else
{
? lasterr = mysql.getLastError();
? return null;
}
}
/**
* Exec Delete SQL statement
* @param {Object} sql
*/
function deleteMySQL(sql)
{
execFlag = mysql.deleteData(sql);
if(execFlag == 1)
? return 1;
else
{
? lasterr = mysql.getLastError();
? return 0;
}
}
/**
* Exec Update SQL statement
* @param {Object} sql
*/
function updateMySQL(sql)
{
execFlag = mysql.updateData(sql);
if(execFlag == 1)
? return 1;
else
{
? lasterr = mysql.getLastError();
? return 0;
}
}
/**
* Exec Call Produce
* @param {Object} proname == Produce Name
* @param {Object} inparas == Produce IN Parameters
* @param {Object} outparas == Produce OUT Parameters
* @param {Object} cnum == Number of fields in OUT Parameters
*/
function callProduceMySQL(proname,inparas,outparas,cnum)
{
var rs = mysql.execProduce(proname,inparas,outparas,cnum);
if(rs.length == 0)
{
? lasterr = mysql.getLastError();
? return null;
}
else
{
? var array = new Array();
? var DataSet = new Array();
?
? var rowsplit = '';//行間隔 ,注意,這并不是普通的'-',而是0x06 轉(zhuǎn)換而來的
? var fieldsplit ='';//字段間隔,注意,這并不是普通的'|',而是0x05 轉(zhuǎn)換而來的
?
? array = rs.split(rowsplit);
? var DataRow = new Array();
? for(var i = 0;i < array.length; i++)
? {
? var fieldarray = array[i].split(fieldsplit);
? DataSet[i] = fieldarray;
? }
? return DataSet;
}
}
/**
* Exec Transcation
* @param {Object} sql
*/
function execTranscationMySQL(sql)
{
execFlag = mysql.execTranscation(sql);
if(execFlag == 1)
? return 1;
else
{
? lasterr = mysql.getLastError();
? return 0;
}
}
/**
* Get Last Error Message if exec error from js
*/
function getLastErrorMySQL()
{
return lasterr;
}
/**
* Get Last Error Message if exec error from ocx
*/
function getLastErrorFromMySQL()
{
var lasterrmysql = mysql.getLastError();
return lasterrmysql;
}
參考鏈接地址:https://blog.csdn.net/akuiguosheng/article/details/73277714