1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //由于nodejs版本更新很快,所以下面的代码需要随着nodejs版本的调整而调整。还不太稳定。
- var mysql = require('mysql');//包含mysql驱动程序
- var db = 'UseStudio_Blog';
- //-----------------------连接数据库---------------------------------------------------
- var connection = mysql.createConnection({ host: '192.168.65.18', user: 'root', password: 'usestudio-1' });
- //----------------------指定数据库------------------------------------
- connection.query('USE ' + db);
- //选取数据
- exports.usselect = function (sql, callback) {
- //---------------------------------查询,并设置回调函数------------------------------
- //mysql guid支持得不太好,由于Http是传输文本,定为char36
- //如果定义为二进制binary16则设计到转义过程,消耗cpu,存储空间相对较小
- connection.query(sql, function aa(err, results, fields) {
- if (err) { throw err; }
- if (results) {
- //在控制台输出使用的语句,暂时屏蔽 //console.log(results); //console.log(fields);
- //如果在这里关闭连接,当有第二个用户连接进来,会报错如下:“Error:cannot enqueue query ater invoking quit”,所以暂时屏蔽,以后再考虑关闭连接问题。
- //应该和sql连接数有关。1个连接可以有多少用户可以连进来。超过多少用户开启第二个连接,这样可以算出用户数量。
- //这个地方还涉及到如何查看mysql开启了多少个连接。每个连接支撑了多少用户,mysql一共可以同时开启多少个连接。
- //connection.end();//关闭sql连接,何时需要关闭此连接?
- //结果给回调函数,和传统return有区别,需要特别注意。
- callback(JSON.stringify(results)); //返回json数据
- }
- else { callback('false'); }
- });
- }
- //--------------------------------------------nodejs执行存储过程------------------------
- exports.usproselect = function (r, callback) {
- connection.query("CALL PB_Select();", function (err, rows, fields) {
- if (err) { throw err; }
- //console.log(r);
- r=r.concat(JSON.stringify(rows)); //
- //console.log(JSON.stringify(rows));
- callback(r);
- });
- }
- exports.aaaaaa = function (callback) {
- //exports.usproselect("CALL PB_Select();", function (results) { _replys.concat(results); });
- connection.query("CALL PB_Select();", function (err, rows, fields) {
- if (err) { throw err; }
-
- exports.usproselect(JSON.stringify(rows), callback);
- });
- }
- //------------------------------------创建数据库-------------------------------
- /*connection.query('CREATE DATABASE '+TEST_DATABASE, function(err) {
- if (err && err.number != mysql.ERROR_DB_CREATE_EXISTS) {
- throw err;
- }
- });*/
- //不指定回调函数,如果出错,则体现为客户端错误
- //connection.query('USE '+TEST_DATABASE);
- //-------------------------------------创建表格,插入数据---------------------------------
- /*connection.query(
- 'CREATE TABLE '+TEST_TABLE+
- '(id INT(11) AUTO_INCREMENT, '+
- 'name VARCHAR(255), '+
- 'PRIMARY KEY (id))'
- );*/
- //-----------------------------------插入数据---------------------------------------
- /*connection.query(
- 'INSERT INTO '+TEST_TABLE+' '+
- 'SET name = ?',
- ['nodejs1']
- );
- var query = connection.query(
- 'INSERT INTO '+TEST_TABLE+' '+
- 'SET name = ?',
- ['nodejs2']
- );*/
|