Created
July 27, 2017 17:16
-
-
Save romgrk/fa6eb1418a8cfaabe81efb90445ef194 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| * SQL | |
| */ | |
| function sqlQuery(query, connectionString) { | |
| var adOpenDynamic = 2; | |
| var adLockOptimistic = 3; | |
| var rs = new ActiveXObject('ADODB.Recordset'); | |
| rs.open(query, connectionString, adOpenDynamic, adLockOptimistic); | |
| var res = []; | |
| while (!rs.eof) { | |
| var record = {}; | |
| for (var i = 0; i < rs.fields.count; ++i) { | |
| var key = rs.fields(i).name; | |
| var value = rs.fields(i).value; | |
| record[key] = value; | |
| } | |
| res.push(record); | |
| rs.MoveNext(); | |
| } | |
| rs.close(); | |
| return res; | |
| } | |
| function sqlExecute(query, connectionString) { | |
| var adOpenForwardOnly = 0; | |
| var adLockReadOnly = 1; | |
| var adCmdText = 1; | |
| var rs = new ActiveXObject('ADODB.Recordset'); | |
| rs.open(query, connectionString, adOpenForwardOnly, adLockReadOnly, adCmdText); | |
| } | |
| function escapeSql(val) { | |
| return "'" + val.replace(/'/g, "''") + "'"; | |
| } | |
| function interpolate(query, record) { | |
| return query.replace(/\{ *(\w+)(?: *, *(\w+))?\ *}/g, function(m, key, type) { | |
| if (!(key in record)) | |
| throw new Error('Key "' + key + '" not present in provided record: ' + JSON.stringify(record)) | |
| if (record[key] == null) | |
| return 'NULL' | |
| switch (type) { | |
| case 'string': return escapeSql(record[key]) | |
| case 'number': return record[key] | |
| //case 'date': return 'CONVERT(datetime, ' + escapeSql(record[key]) + ', 1)' | |
| default: return record[key] | |
| } | |
| }) | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment