SSMS列名无效

时间:2018-04-28 22:59:02

标签: javascript sql-server sql-server-2017

这里有这张桌子: enter image description here

并且SessionId是自动增量的。 当我尝试添加会话时:

srDataAccessManager.addSession = function(title,speakerId,cbfSuccess,cbfError){
    _makeSQLRequest("INSERT INTO dbo.Session (Title, SpeakerId, SessionState) values(" + title+ "," + speakerId+ ",'Created')",cbfSuccess,cbfError);
}

function _makeSQLRequest(sqlString,cbfSuccess,cbfError){
    sql.close();

    sql.connect(config,(err)=>{
        if(err) 
            cbfError(err);
        else{ 
            var request = new sql.Request();
            request.query(sqlString, (err,result) =>
            {
                if(err)
                    cbfError(err);
                else                    
                    cbfSuccess(result);
            });
        }
    });

} 

我收到此错误:

enter image description here

我不明白这个错误的来源。是因为我没有在插入字符串中添加id吗?我没有输入id,因为我认为当SMMS处理id时我不需要任何ID。我已经检查了输入的数据类型,它是一个字符串和一个int,所以我怀疑它是因为数据类型。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您的INSERT声明对我来说不对。我相信你应该在Title参数周围加上单引号:

_makeSQLRequest("INSERT INTO dbo.Session (Title, SpeakerId, SessionState) 
values('" + title+ "'," + speakerId+ ",'Created')",cbfSuccess,cbfError);

请注意第一个结束双引号之前的单引号,以及第一个逗号之前的单引号。