1
1
/** 创建 / 打开一个键值对数据库 */
2
- declare class KVDatabase {
3
- constructor ( dir :string ) ;
2
+ declare class KVDatabase {
3
+ constructor ( dir : string ) ;
4
4
5
5
/** 数据库的储存目录路径,以BDS根目录为基准 */
6
- dir : string
6
+ dir : string ;
7
7
8
8
/**
9
9
* 写入数据项
10
10
* @param name 数据项名字
11
11
* @param data 要写入的数据
12
12
* @returns boolean 是否写入成功
13
13
*/
14
- set ( name :string , data :any ) : boolean ;
14
+ set ( name : string , data : any ) : boolean ;
15
15
16
16
/**
17
17
* 读取数据项
18
18
* @param name 数据项名字
19
19
* @returns any|null 数据库中储存的这个项的数据
20
20
*/
21
- get ( name :string ) : any | null ;
21
+ get ( name : string ) : any | null ;
22
22
23
23
/**
24
24
* 删除数据项
25
25
* @param name 数据库名字
26
26
*/
27
- delete ( name :string ) : boolean ;
27
+ delete ( name : string ) : boolean ;
28
28
29
29
/**
30
30
* 获取所有数据项名字
@@ -39,153 +39,156 @@ declare class KVDatabase{
39
39
close ( ) : boolean ;
40
40
}
41
41
42
- declare class DataBase_Params {
42
+ declare class DataBase_Params {
43
43
/** 指定数据库所在路径 */
44
- path :string ;
44
+ path : string ;
45
45
46
- /** 数据库不存在是否自动创建 */
47
- create : boolean ;
46
+ /** 数据库不存在是否自动创建(默认true) */
47
+ create ?: boolean ;
48
48
49
- /** 以只读模式打开 */
50
- readonly : boolean ;
49
+ /** 以只读模式打开(默认false) */
50
+ readonly ?: boolean ;
51
51
52
- /** 以读写模式打开 */
53
- readwrite : boolean ;
52
+ /** 以读写模式打开(默认true) */
53
+ readwrite ?: boolean ;
54
54
}
55
55
56
56
/** 打开一个SQL数据库会话 */
57
- declare class DBSession {
57
+ declare class DBSession {
58
58
/**
59
59
* 打开一个SQL数据库会话
60
60
* @param type 数据库的类型,目前仅支持
61
61
* @param params DataBase_Params 连接参数
62
62
*/
63
- constructor ( type :"sqlite3" , params :DataBase_Params ) ;
63
+ constructor ( type : "sqlite3" , params : DataBase_Params ) ;
64
64
65
65
/**
66
66
* 打开一个SQL数据库会话
67
67
* @param str 形如file:///mydb.db?k=v, mysql://root:password@localhost:3306/db的连接字符串
68
68
*/
69
- constructor ( str :string ) ;
69
+ constructor ( str : string ) ;
70
70
71
71
/**
72
72
* 执行SQL并获取结果集
73
73
* @param sql 要查询的SQL语句
74
74
* @returns Array<Array> 查询的结果(结果集)
75
75
* @tips 返回数组的第1行(`result[0]`)为结果集的表头(列名),剩余行为结果数据
76
76
*/
77
- query ( sql :string ) :Array < Array < any > >
77
+ query ( sql : string ) : Array < Array < any > > ;
78
78
79
79
/**
80
80
* 执行SQL但不获取结果
81
81
* @param sql 要执行的SQL语句
82
82
* @returns DBSession 处理完毕的会话对象(便于连锁进行其他操作)
83
83
*/
84
- exec ( sql :string ) :DBSession ;
84
+ exec ( sql : string ) : DBSession ;
85
85
86
86
/**
87
87
* 执行SQL但不获取结果
88
88
* @param sql 要执行的SQL语句
89
89
* @returns DBSession 处理完毕的会话对象(便于连锁进行其他操作)
90
90
*/
91
- execute ( sql :string ) :DBSession ;
91
+ execute ( sql : string ) : DBSession ;
92
92
93
93
/**
94
94
* 获取当前会话是否为打开状态
95
95
* @returns boolean 是否为打开状态
96
96
*/
97
- isOpen ( ) :boolean ;
97
+ isOpen ( ) : boolean ;
98
98
99
99
/**
100
100
* 关闭数据库会话
101
101
* @returns boolean 是否成功关闭
102
102
*/
103
- close ( ) :boolean ;
103
+ close ( ) : boolean ;
104
104
105
105
/**
106
106
* 准备一个预准备语句
107
107
* @param sql 要准备的SQL语句
108
108
* @returns DBStmt 预准备语句,失败抛出错误
109
109
*/
110
- prepare ( sql :string ) :DBStmt
110
+ prepare ( sql : string ) : DBStmt ;
111
111
}
112
112
113
-
114
-
115
113
/** SQL预准备语句 */
116
- declare class DBStmt {
114
+ declare class DBStmt {
117
115
/**
118
116
* 绑定参数到一个SQL语句
119
117
* @param val 要绑定的值
120
118
* @tips 本重载将会将值绑定到第一个未绑定的参数上
121
119
*/
122
- bind ( val :any ) : void ;
120
+ bind ( val : any ) : void ;
123
121
124
122
/**
125
123
* 绑定参数到一个SQL语句
126
124
* @param val 要绑定的值
127
125
* @tips 要绑定的对象,等同于遍历此对象并执行
128
126
* @tips 对于Object:bind(val, key) 对于Array:bind(val)
129
127
*/
130
- bind ( val :any | Array < any > ) : void ;
128
+ bind ( val : any | Array < any > ) : void ;
131
129
132
130
/**
133
131
* 绑定参数到一个SQL语句
134
132
* @param val 要绑定的值
135
133
* @param index 要绑定到的参数索引(从`0`开始)
136
134
*/
137
- bind ( val :any , index :number ) : void ;
135
+ bind ( val : any , index : number ) : void ;
138
136
139
137
/**
140
138
* 绑定参数到一个SQL语句
141
139
* @param val 要绑定的值
142
140
* @param name 要绑定到的参数的参数名
143
141
*/
144
- bind ( val :any , name :string ) : void ;
142
+ bind ( val : any , name : string ) : void ;
143
+
144
+ /**
145
+ * 执行SQL但不获取结果
146
+ * @returns DBSession 处理完毕的会话对象(便于连锁进行其他操作)
147
+ */
148
+ execute ( ) : DBStmt ;
145
149
146
150
/**
147
151
* 步进到下一行结果
148
152
* @returns boolean 执行成功与否
149
153
*/
150
- step ( ) :boolean ;
154
+ step ( ) : boolean ;
151
155
152
156
/**
153
157
* 步进到下一行结果
154
158
* @returns boolean 执行成功与否
155
159
*/
156
- next ( ) :boolean ;
160
+ next ( ) : boolean ;
157
161
158
162
/**
159
163
* 获取当前结果行
160
164
* @returns Object 当前结果行,形如`{col1: "value", col2: 2333}`
161
165
*/
162
- fetch ( ) : { [ key :string ] :any } ;
166
+ fetch ( ) : { [ key : string ] : any } ;
163
167
164
168
/**
165
169
* 获取所有结果行
166
170
* @returns Array<Array>
167
171
* @tips 返回数组的第1行(`result[0]`)为结果集的表头(列名),剩余行为结果数据
168
172
*/
169
- fetchAll ( ) : Array < Array < any > >
173
+ fetchAll ( ) : Array < Array < any > > ;
170
174
171
175
/**
172
176
* 重置当前语句状态至“待执行”
173
177
* @returns DBStmt 处理完毕的语句对象(便于连锁进行其他操作)
174
178
* @tips 本函数不会清除已绑定的参数
175
179
*/
176
- reset ( ) :DBStmt ;
180
+ reset ( ) : DBStmt ;
177
181
178
182
/**
179
183
* 重新执行预准备语句
180
184
* @returns DBStmt 处理完毕的语句对象(便于连锁进行其他操作)
181
185
* @tips 本函数是一个便捷函数,等同于执行`stmt.reset()`和`stmt.execute()`
182
186
*/
183
- reexec ( ) :DBStmt ;
187
+ reexec ( ) : DBStmt ;
184
188
185
189
/**
186
190
* 清除所有已绑定的参数
187
191
* @returns DBStmt 处理完毕的语句对象(便于连锁进行其他操作)
188
192
*/
189
- clear ( ) :DBStmt ;
193
+ clear ( ) : DBStmt ;
190
194
}
191
-
0 commit comments