Node.js / Edge.js - вставляет переменные JS в SQL
В настоящее время я использую Node.js с Edge.js для вставки жестко закодированных значений в базу данных SQL:
var insertUser = edge.func('sql', function () {/*
INSERT INTO dbo.Newsletter (Email, Active, DateCreated, DateUpdated, Deleted)
VALUES ('test2@test.com','1','2014-01-01 00:00:00','2014-01-01 00:00:00','0')
*/});
Это работает правильно.
Однако я хотел бы, чтобы значения были ранее определенными переменными JS, а не жестко закодированы. Так что, если я определил эту переменную:
var emailAddress = document.getElementById('emailInput').value;
Я хотел бы вставить его вместо жестко закодированного адреса электронной почты (код проблемы ниже):
var insertUser = edge.func('sql', function () {/*
INSERT INTO dbo.Newsletter (Email, Active, DateCreated, DateUpdated, Deleted)
VALUES ('emailAddress','1','2014-01-01 00:00:00','2014-01-01 00:00:00','0')
*/});
Приведенный выше синтаксис (и различные варианты) не работает - возможно ли вообще вставить переменные JS в SQL с Node/Edge? Спасибо заранее...
1 ответ
Решение
Вы можете использовать именованные параметры в вашей функции следующим образом:
var insertUser = edge.func('sql', function () {/*
INSERT INTO dbo.Newsletter (Email, Active, DateCreated, DateUpdated, Deleted)
VALUES (@emailAddress,'1','2014-01-01 00:00:00','2014-01-01 00:00:00','0')
*/});
Передайте ему объект с такими параметрами:
var emailAddress = document.getElementById('emailInput').value;
insertUser({"emailAddress": emailAddress}, callBack)