js如何操作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訪問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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容