-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
85 lines (64 loc) · 1.88 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# nodejs Microsoft SQL Server Helper
# nodejs的一个用于连接mssql数据库的工具类
## Features 介绍
* 采用微软tds协议,不需要任何C/C++扩展,跨平台使用
* 执行sql语句,获得结果行
* 执行存储过程,获得输出参数以及结果行
## TODO 待实现内容
* 将支持获得多个结果集(Table)
* 将支持连接池
* 更多性能加强
## Requirements 需要如下组件(已内置)
* [tds](http://cretz.github.com/node-tds/)(已内置)
## Use 使用
$ git clone [email protected]:play175/mssqlhelper.git
$ cd mssqlhelper
$ node test.js
## Test 测试代码
var db = require('./index');
db.config({
host: '192.168.1.100'
,port: 1433
,userName: 'sa'
,password: '123'
,database:'testdb'
});
//test query sql 执行sql
db.query(
'select @Param1 Param1,@Param2 Param2'
,{
Param1: { type : 'NVarChar', size: 7,value : 'myvalue' }
,Param2: { type : 'Int',value : 321 }
}
,function(res){
if(res.err)throw new Error('database error:'+res.err.msg);
var rows = res.tables[0].rows;
for (var i = 0; i < rows.length; i++) {
console.log(rows[i].getValue(0),rows[i].getValue('Param2'));
}
}
);
//test excute sp 执行存储过程
db.exec(
'test_sp'
,{
Param1: {direction:'out', type : 'NVarChar', size: 50,value : 'my Param1 value' }
,Param2: { type : 'Int',value : 123 }
,Param3: {direction:'out', type : 'VarChar', size: 50,value : '789' }
}
,function(res){
if(res.err)throw new Error('database error:'+res.err.msg);
//get output paramater value
console.log('output @Param1='+res.params.Param1.value);
//get rows
var rows = res.tables[0].rows;
for (var i = 0; i < rows.length; i++) {
var rp = '';
for(var j=0,len = rows[i].metadata.columns.length;j<len;j++){
var col = rows[i].metadata.columns[j];
rp += ' ' +(rows[i].getValue(j));
}
console.log(rp);
}
}
);