javascript + sql编写SQL客户端工具tabris

祝我们2018新年快乐,

祝我们2018新年快乐,

近来意识了一个新意的剧本JtSQL(java编写)

新近意识了一个创意的本子JtSQL(java编写)

开源地址为:https://github.com/noear/JtSQL

开源地址为:https://github.com/noear/JtSQL

JtSQL 特点:
*.结合了JS、SQL、模板理念;
*.保持了JS和SQL的语法高亮(利于DBA审核);
*.方便统一管理、部署、运行
*.像存储过程同样,提供当前上下文及变量协理;
*.像SQL客户端工具一样,即时编写即时运行;
*.像定制总计程序一样,提供经过和逻辑控制能力;
*.服务端运行(别误会成客户端运行啊…) 

JtSQL 特点:
*.结合了JS、SQL、模板理念;
*.保持了JS和SQL的语法高亮(利于DBA审核);
*.方便统一管理、部署、运行
*.像存储过程一样,提供当前上下文及变量扶助;
*.像SQL客户端工具一样,即时编写即时运行;
*.像定制总结程序一样,提供经过和逻辑控制能力;
*.服务端运行(别误会成客户端运行啊…) 

 

 

图片 1

图片 2

当真在工作中总会遇上这样的题目

诚然在工作中总会遭逢这么的题材

日常去拉sql,有时候一句sql执行搞不定
就得分多次sql,

不时去拉sql,有时候一句sql执行搞不定
就得分多次sql,

写sql写的心累。把JavaScript
和 sql 结合起来实在很赞。能解决一贯苦恼的问题

写sql写的心累。把JavaScript
和 sql 结合起来确实很赞。能化解平昔苦恼的问题

以那些为创意点自己也搞了一个工具 我取名为tabris脚本工具

以这个为创意点我也搞了一个工具 我取名为tabris脚本工具

开源地址为:https://github.com/yuzd/ClearScript.Manager

开源地址为:https://github.com/yuzd/ClearScript.Manager

(ps:大家有提出即使提)

(ps:我们有指出就算提)

特色:

特色:

1 包含JtSQL的持有特性

1 包含JtSQL的有着特性

2 利用微软的
ClearScript V8 engine

2 利用微软的
ClearScript V8 engine

详细请参考:https://microsoft.github.io/ClearScript/Tutorial/FAQtorial.html?from=timeline&isappinstalled=0

详尽请参考:https://microsoft.github.io/ClearScript/Tutorial/FAQtorial.html?from=timeline&isappinstalled=0

ClearScript很强劲可以做到c# 与 JavaScript 互通

ClearScript很强大可以成功c# 与 JavaScript 互通

3 把效用模块化
近日已实现的3个基本点的模块

3 把功用模块化
目前已实现的3个第一的模块

  1. 实践http请求处理模块

  2. 日志输出处理模块

  3. 履行sql处理模块.

  4. js代码智能指示tabris模块

  1. 实践http请求处理模块

  2. 日记输出处理模块

  3. 履行sql处理模块.

  4. js代码智能指示tabris模块

图片 3

图片 4

图片 5

图片 6

随后想用其他的意义都可以扩充其他模块

然后想用其他的功效都得以增添其他模块

 

 

  1. 代码编写选用CodeMirror
    ,写js代码智能提示
  1. 代码编写采纳CodeMirror
    ,写js代码智能指示

 

 

 

 

下边来一个动图感受下呢

下边来一个动图感受下啊

以以下场景为示范

以以下场景为示范

 

 

 图片 7

 图片 8

 

 

 

 

图片 9

图片 10

 

 

 图片 11

 图片 12

 

 

装进的sql log http 三大组件 在编辑器上的艺术能代码智能提示 

装进的sql log http 三大组件 在编辑器上的办法能代码智能提示 

图片 13

图片 14

 

 

图片 15

图片 16

 

 

图片 17

图片 18

 

 

//DB处理器
var db = this.tabris.create('SQL', {
  name:'testorm',
  type:'mysql'
});

//http处理器
var http = this.tabris.create('HTTP', {
  method:'GET'
});

//log处理器
var log = this.tabris.create('LOG', {
  trace:true
});

db.delete('delete from child_district');

//从district表里面获取所有城市的Code
var get_district_sql = "select Code from district";

var district_code_list = db.query(get_district_sql);

for (var index = 0; index < district_code_list.length; index++) {
    getChildDistrictAndInsertToDb(district_code_list[index].Code);
}


//远程获取
function getChildDistrictAndInsertToDb(parentCode){
  log.info(parentCode);
  var re = http.getJson({
    url:'https://fuwu.sf-express.com/service/address/newAddr/getNewSubAddress?parentCode=' + parentCode
  });
  if(!re.subAddressList || !re.subAddressList.length) return;
  for (var index = 0; index < re.subAddressList.length; index++) {
    var child = re.subAddressList[index];
    var insertSql = "insert into child_district (Name,Code,DataChange_LastTime) VALUES('"+ child.distCnName +"','"+ child.distCode +"',now())";
    var insertResult = db.insert(insertSql)
    if(insertResult!=1){
      log.error(child.distCnName + '插入db失败!');
    }else{
      log.info(child.distCnName + '插入db成功!')
    }
  }
}
//DB处理器
var db = this.tabris.create('SQL', {
  name:'testorm',
  type:'mysql'
});

//http处理器
var http = this.tabris.create('HTTP', {
  method:'GET'
});

//log处理器
var log = this.tabris.create('LOG', {
  trace:true
});

db.delete('delete from child_district');

//从district表里面获取所有城市的Code
var get_district_sql = "select Code from district";

var district_code_list = db.query(get_district_sql);

for (var index = 0; index < district_code_list.length; index++) {
    getChildDistrictAndInsertToDb(district_code_list[index].Code);
}


//远程获取
function getChildDistrictAndInsertToDb(parentCode){
  log.info(parentCode);
  var re = http.getJson({
    url:'https://fuwu.sf-express.com/service/address/newAddr/getNewSubAddress?parentCode=' + parentCode
  });
  if(!re.subAddressList || !re.subAddressList.length) return;
  for (var index = 0; index < re.subAddressList.length; index++) {
    var child = re.subAddressList[index];
    var insertSql = "insert into child_district (Name,Code,DataChange_LastTime) VALUES('"+ child.distCnName +"','"+ child.distCode +"',now())";
    var insertResult = db.insert(insertSql)
    if(insertResult!=1){
      log.error(child.distCnName + '插入db失败!');
    }else{
      log.info(child.distCnName + '插入db成功!')
    }
  }
}

 

 

客户端下载

客户端下载

最新版:https://github.com/yuzd/ClearScript.Manager/tree/master/src/Tabris.Winform/Release

最新版:https://github.com/yuzd/ClearScript.Manager/tree/master/src/Tabris.Winform/Release

相关文章