Сделать оператор вставки в Javascript, используя ADODB.Recordset - PullRequest
0 голосов
/ 29 февраля 2012

Я хочу спросить, как мне выполнить оператор вставки, используя JavaScript-объект ADODB.Recordset?Большое спасибо, Тал.

Это код, который я пытаюсь запустить:

/* Getting access to the database */
var connection = new ActiveXObject("ADODB.Connection");
var connectionstring = "Data Source=srvp7rnd-herm;Initial Catalog=hermes;User ID=hermes;Password=hermes;Provider=SQLOLEDB";
connection.Open(connectionstring);

/* JavaScript obect to access a SQL query's results */
var rs = new ActiveXObject("ADODB.Recordset");

/* Getting the current MAX(id) from the database */
rs.Open("SELECT MAX(id) FROM Screen_Template", connection);
rs.MoveFirst;
var maxID = rs.Fields.Item(0);
maxID = maxID + 1;

/* TODO: Get the last UID */
var sql = "INSERT INTO Screen_Template(template_name, OpCo, env, template_xml, language, id, title, role, UID) VALUES (" + templateName + "," + opco + "," + env + "," + "<hello>hello</hello>" + ",eng," + maxID + ",Hermes SMS message composer," + "manag, 10)";
alert(sql);
rs.Open(sql, connection);

/* Closing the connections */
rs.close;
connection.close;

Но когда я пытаюсь запустить этот код, он выдает мне сообщение об ошибке.

1 Ответ

1 голос
/ 29 февраля 2012

Пожалуйста, попробуйте с этим кодом. Если тип столбца Screen_Template Varchar, вы должны добавить «» к своим переменным. Если оператор SQL из alert (sql) был в правильном формате с вашей схемой таблицы, все должно быть в порядке. Надеюсь, что это поможет.

   /* Getting access to the database */
    var connection = new ActiveXObject("ADODB.Connection");
    var connectionstring = "Data Source=srvp7rnd-herm;Initial Catalog=hermes;User ID=hermes;Password=hermes;Provider=SQLOLEDB";
    connection.Open(connectionstring);

    /* JavaScript obect to access a SQL query's results */
    var rs = new ActiveXObject("ADODB.Recordset");

    /* Getting the current MAX(id) from the database */
    rs.Open("SELECT MAX(id) FROM Screen_Template", connection);
    rs.MoveFirst;
    var maxID = rs.Fields.Item(0);
    maxID = maxID + 1;
    rs.close;

    /* TODO: Get the last UID */
    var sql = "INSERT INTO Screen_Template(template_name, OpCo, env, template_xml, language, id, title, role, UID) VALUES ('" + templateName + "','" + opco + "','" + env + "'," +"'<hello>hello</hello>'" + ",'eng'," + maxID + ",'Hermes SMS message composer'," + "'manag', 10)";
    alert(sql);
    rs.Open(sql, connection);

    /* Closing the connections */
    //rs.close;
    connection.close;
...