标签归档clearscript

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

祝福大家2018新年快乐,

不久前意识了一个新意的剧本JtSQL(java编写)

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

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

 

图片 1

实在在工作中总会遇到这样的题目

常常去拉sql,有时候一词sql执行打不定
就得分多次sql,

形容sql写的心累。把JavaScript
和 sql 结合起来的确非常赞。能缓解一直困扰的问题

以这个邪创意点自己吧来了一个家伙 我取名也tabris脚本工具

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

(ps:大家发出建议尽管提)

特色:

1 包含JtSQL的持有特性

2 利用微软的
ClearScript V8 engine

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

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

3 把功能模块化
目前早已落实的3只重大之模块

  1. 施行http请求处理模块

  2. 日记输出处理模块

  3. 实践sql处理模块.

  4. js代码智能提醒tabris模块

图片 2

图片 3

然后想用外的机能都得扩展外模块

 

  1. 代码编写采用CodeMirror
    ,写js代码智能提醒

 

 

脚来一个动图感受下吧

因以下场景也示范

 

 图片 4

 

 

图片 5

 

 图片 6

 

包装的sql log http 三百般组件 在编辑器上的法子能代码智能提醒 

图片 7

 

图片 8

 

图片 9

 

//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

网站地图xml地图