From 310da097e94d192347a061ba64ebf99b92a3f87e Mon Sep 17 00:00:00 2001 From: EPMatt Date: Fri, 5 Apr 2019 23:05:57 +0200 Subject: [PATCH 1/2] added sql query to csv command --- package.json | 7 ++++- src/extension.ts | 2 ++ .../action/extension.querySQLToCSV.ts | 29 +++++++++++++++++++ src/extension/action/index.ts | 2 ++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/extension/action/extension.querySQLToCSV.ts diff --git a/package.json b/package.json index 8182cc7..e94890a 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,11 @@ "title": "Query", "category": "SQL" }, + { + "command": "extension.querySQLToCSV", + "title": "Query with CSV result", + "category": "SQL" + }, { "command": "extension.queryFileSQL", "title": "Run file as query", @@ -208,4 +213,4 @@ "webpack": "^4.29.6", "webpack-cli": "^3.1.0" } -} +} \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts index 8ad52f4..d015649 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -36,6 +36,8 @@ export function activate(context: vscode.ExtensionContext) { addCommand(context, 'extension.connectToSQLServer'); addCommand(context, 'extension.querySQL'); + + addCommand(context, 'extension.querySQLToCSV'); addCommand(context, 'extension.queryFileSQL'); diff --git a/src/extension/action/extension.querySQLToCSV.ts b/src/extension/action/extension.querySQLToCSV.ts new file mode 100644 index 0000000..c69b376 --- /dev/null +++ b/src/extension/action/extension.querySQLToCSV.ts @@ -0,0 +1,29 @@ +import * as vscode from 'vscode'; +import { AbstractAction } from './AbstractAction'; + +export class QuerySQLToCSV extends AbstractAction +{ + + execution(textEditor: vscode.TextEditor, edit: vscode.TextEditorEdit, query?: string) { + + if(typeof query === 'string'){ + this.runQuery(query); + return; + } + + vscode.window.showInputBox({ + value:'', + prompt: 'e.g SELECT * FROM table', + placeHolder: 'Query', + password: false + }).then((qry)=>this.runQuery(qry)); + } + + runQuery(query?: string) { + if(typeof query === 'undefined'){ + return; + } + this.sqlMenager.runAsQueryToCSV(query); + } + +} diff --git a/src/extension/action/index.ts b/src/extension/action/index.ts index 34e8a29..4bd38e0 100644 --- a/src/extension/action/index.ts +++ b/src/extension/action/index.ts @@ -11,6 +11,7 @@ import { QueryFileSQL } from './extension.queryFileSQL'; import { QueryBuild } from './extension.queryBuild'; import { ConnectToSQLServer } from './extension.connectToSQLServer'; import { QuerySQL } from './extension.querySQL'; +import { QuerySQLToCSV } from './extension.querySQLToCSV'; export interface ActionsList { [K: string]: typeof AbstractAction; @@ -26,6 +27,7 @@ export const actionsList: ActionsList = { 'extension.querySelectedSQL': QuerySelectedSQL, 'extension.querySelectedSQLToCSV': QuerySelectedSQLToCSV, 'extension.querySQL': QuerySQL, + 'extension.querySQLToCSV': QuerySQLToCSV, 'extension.runQueryBuild': RunQueryBuild, 'extension.saveConfig': SaveConfig, }; From 05766749f0c5775becc1f2111b1cd933bbc4b1b3 Mon Sep 17 00:00:00 2001 From: EPMatt Date: Sat, 6 Apr 2019 16:33:25 +0200 Subject: [PATCH 2/2] added newline --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e94890a..ce940f9 100644 --- a/package.json +++ b/package.json @@ -213,4 +213,4 @@ "webpack": "^4.29.6", "webpack-cli": "^3.1.0" } -} \ No newline at end of file +}