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)
Другие вопросы по тегам