Skip to content

Instantly share code, notes, and snippets.

@kumarandena
Last active April 9, 2019 11:28
Show Gist options
  • Save kumarandena/f98919c2a8f9109a9c56f45cfd7ffa24 to your computer and use it in GitHub Desktop.
Save kumarandena/f98919c2a8f9109a9c56f45cfd7ffa24 to your computer and use it in GitHub Desktop.
Create SQLite query from an Array (NativeScript with Angular)
import { Component, OnInit } from "@angular/core";
var dialogs = require("tns-core-modules/ui/dialogs");
var clipboard = require("../nativescript-clipboard");
@Component({
selector: "Home",
moduleId: module.id,
templateUrl: "./home.component.html",
styleUrls: ["./home.component.css"]
})
export class HomeComponent implements OnInit {
onButtonTap(): void {
let query = '(';
let pkcolumns = '"PRIMARY KEY(';
this.df.forEach((col) => {
query += `${'"' + col.name + " " + col.type + (col.notnull == 1 ? ' NOT NULL' : '') + '," + \n'}`;
if (col.pk != 0) {
pkcolumns += `${col.name + ','}`;
}
});
let finalQuery = query + pkcolumns + '))"';
console.log("Final query", finalQuery)
dialogs.alert({
title: "Final Sqlite query",
message: finalQuery,
okButtonText: "Copy to Clipboard"
}).then(() => {
clipboard.setText(finalQuery);
});
}
public df = [{
cid: 0,
name: 'AT_SEQ_NO',
type: 'INTEGER',
notnull: 1,
dflt_value: null,
pk: 0
},
{
cid: 1,
name: 'VL_IFO_NO',
type: 'TEXT',
notnull: 1,
dflt_value: null,
pk: 1
},
{
cid: 2,
name: 'AT_TYPE_ID',
type: 'INTEGER',
notnull: 1,
dflt_value: null,
pk: 0
},
{
cid: 3,
name: 'CFT_ID',
type: 'INTEGER',
notnull: 1,
dflt_value: null,
pk: 0
},
{
cid: 4,
name: 'CFT_NO',
type: 'TEXT',
notnull: 1,
dflt_value: null,
pk: 0
},
{
cid: 5,
name: 'FTN',
type: 'TEXT',
notnull: 1,
dflt_value: null,
pk: 0
},
{
cid: 6,
name: 'CPY_ID',
type: 'INTEGER',
notnull: 1,
dflt_value: null,
pk: 1
}]
constructor() {
}
ngOnInit(): void {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment