Object 內置對象

對象MSSQL

SQL Server 數據庫連接對象

使用 db.opendb.openMySQL 創建,創建方式:

1
var sql = db.openMSSQL("mssql://user:pass@host/db");

繼承關係

成員屬性

type

String, 查詢當前連接數據庫類型

1
readonly String MSSQL.type;

成員函數

use

選擇當前數據庫連接的缺省數據庫

1
MSSQL.use(String dbName) async;

調用參數:

  • dbName: String, 指定數據庫名

close

關閉當前數據庫連接

1
MSSQL.close() async;

begin

在當前數據庫連接上啟動一個事務

1
MSSQL.begin(String point = "") async;

調用參數:

  • point: String, 指定事務的名稱,缺省不指定

commit

提交當前數據庫連接上的事務

1
MSSQL.commit(String point = "") async;

調用參數:

  • point: String, 指定事務的名稱,缺省不指定

rollback

回滾當前數據庫連接上的事務

1
MSSQL.rollback(String point = "") async;

調用參數:

  • point: String, 指定事務的名稱,缺省不指定

trans

進入事務執行一個函數,並根據函數執行情況提交或者回滾

1
Boolean MSSQL.trans(Function func);

調用參數:

  • func: Function, 以事務方式執行的函數

返回結果:

  • Boolean, 返回事務是否提交,正常commit 時返回true, rollback 時返回false,如果事務出錯則拋出錯誤

func 執行有三種結果:

  • 函數正常返回,包括運行結束和主動return,此時事務將自動提交
  • 函數返回false,此時事務將回滾
  • 函數運行錯誤,事務自動回滾

進入事務執行一個函數,並根據函數執行情況提交或者回滾

1 2
Boolean MSSQL.trans(String point, Function func);

調用參數:

  • point: String, 指定事務的名稱
  • func: Function, 以事務方式執行的函數

返回結果:

  • Boolean, 返回事務是否提交,正常commit 時返回true, rollback 時返回false,如果事務出錯則拋出錯誤

func 執行有三種結果:

  • 函數正常返回,包括運行結束和主動return,此時事務將自動提交
  • 函數返回false,此時事務將回滾
  • 函數運行錯誤,事務自動回滾

execute

執行一個sql 命令,並返回執行結果,可根據參數格式化字符串

1 2
NArray MSSQL.execute(String sql, ...args) async;

調用參數:

  • sql: String, 格式化字符串,可選參數用? 指定。例如:'SELECT FROM TEST WHERE [id]=?'
  • args: ..., 可選參數列表

返回結果:

  • NArray, 返回包含結果記錄的數組,如果請求是UPDATE 或者INSERT,返回結果還會包含affected 和insertId,mssql 不支持insertId。

createTable

創建數據表

1
MSSQL.createTable(Object opts) async;

調用參數:

  • opts: Object, 參數列表

dropTable

刪除數據表

1
MSSQL.dropTable(Object opts) async;

調用參數:

  • opts: Object, 參數列表

createIndex

創建數據表索引

1
MSSQL.createIndex(Object opts) async;

調用參數:

  • opts: Object, 參數列表

dropIndex

刪除數據表索引

1
MSSQL.dropIndex(Object opts) async;

調用參數:

  • opts: Object, 參數列表

insert

插入新記錄

1
Number MSSQL.insert(Object opts) async;

調用參數:

  • opts: Object, 參數列表

返回結果:

  • Number, 返回包含插入的id,如果引擎不支持則返回 0

find

根據指定的條件查詢數據

1
NArray MSSQL.find(Object opts) async;

調用參數:

  • opts: Object, 參數列表

返回結果:

  • NArray, 返回包含結果記錄

count

根據指定的條件統計數據記錄數

1
Integer MSSQL.count(Object opts) async;

調用參數:

  • opts: Object, 參數列表

返回結果:

  • Integer, 返回包含結果記錄數

update

根據指定的條件更新數據

1
Integer MSSQL.update(Object opts) async;

調用參數:

  • opts: Object, 參數列表

返回結果:

  • Integer, 返回包含更新的記錄數

remove

根據指定的條件刪除數據

1
Integer MSSQL.remove(Object opts) async;

調用參數:

  • opts: Object, 可選參數列表

返回結果:

  • Integer, 返回包含更新的記錄數

format

格式化一個sql 命令,並返回格式化結果

1 2
String MSSQL.format(String method, Object opts);

調用參數:

  • method: String, 指定請求的方法
  • opts: Object, 可選參數列表

返回結果:

  • String, 返回格式化之後的sql 命令

格式化一個sql 命令,並返回格式化結果

1 2
String MSSQL.format(String sql, ...args);

調用參數:

  • sql: String, 格式化字符串,可選參數用? 指定。例如:'SELECT FROM TEST WHERE [id]=?'
  • args: ..., 可選參數列表

返回結果:

  • String, 返回格式化之後的sql 命令

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String MSSQL.toString();

返回結果:

  • String, 返回對象的字符串表示

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

1
Value MSSQL.toJSON(String key = "");

調用參數:

  • key: String, 未使用

返回結果:

  • Value, 返回包含可JSON 序列化的值