Javascript &引用;Node.js/Edge.js-将js变量插入SQL";第二部分

Javascript &引用;Node.js/Edge.js-将js变量插入SQL";第二部分,javascript,sql,node.js,edge.js,Javascript,Sql,Node.js,Edge.js,这是我的建议 好的,我使用Node.js和Edge.js将值插入SQL数据库。 第一次尝试是直接插入硬编码值: var insertRow = edge.func('sql', function () {/* INSERT INTO dbo.table (column0, column1, column2) VALUES (value0, value1, value2) */}); insertRow(); 当然,这种硬编码插入的效果与预期的一样。 如我前面问题的答案所示,传

这是我的建议

好的,我使用Node.js和Edge.js将值插入SQL数据库。 第一次尝试是直接插入硬编码值:

var insertRow = edge.func('sql', function () {/*
    INSERT INTO dbo.table (column0, column1, column2)
    VALUES (value0, value1, value2)
*/});

insertRow();
当然,这种硬编码插入的效果与预期的一样。 如我前面问题的答案所示,传递函数an object允许SQL语句通过@识别对象的名称/值对,允许动态赋值:

var rowObj = {
    v0: 'value0',
    v1: 'value1',
    v2: 'value2'
}

var insertRow = edge.func('sql', function () {/*
    INSERT INTO dbo.table (column0, column1, column2)
    VALUES (@v0, @v1, @v2)
*/});

insertRow(rowObj);
一切正常。 我想做的是通过同一rowObj提供的属性使表和列也变为变量。 我试过:

var rowObj = {
    t: 'dbo.table',
    c0: 'column0',
    c1: 'column1',
    c2: 'column2',
    v0: 'value0',
    v1: 'value1',
    v2: 'value2'
}

var insertRow = edge.func('sql', function () {/*
    INSERT INTO @t (@c0, @c1, @c2)
    VALUES (@v0, @v1, @v2)
*/});

insertRow(rowObj);
但这不起作用。我试着让表自己动态,让列自己动态,但这也没用


注意:我不懂SQL,我不知道Node.js/Edge.js的局限性,而且我对一般编程非常陌生(因此,如果我的命名不一致/错误,请告诉我,但请不要把我分开),我只是想知道我尝试做的事情是否可以做到

我建议您根据不同的选择标准调用
edge.func
。如果事先不知道列名,则始终可以动态构造传递给
edge.func
的t-SQL字符串。使用这种方法,您通常会对预编译的SQL语句进行一些优化,但考虑到MS SQL如何优化服务器上的查询执行,节省的成本是最小的

我只是好奇我能说出多少“大师级”的话。一个TSQL语句来控制它们。事实证明,我需要在.NET中编写我的语句,这样就不会有那么多语法约束。不管怎样,谢谢!js是非常棒的。