【问题标题】:SSMS Invalid column nameSSMS 列名无效
【发布时间】:2018-04-28 22:59:01
【问题描述】:

我在这里有这张桌子:

并且 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);
            });
        }
    });

} 

我收到此错误:

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

【问题讨论】:

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


【解决方案1】:

您的 INSERT 声明在我看来是错误的。我相信您应该在 Title 参数周围加上单引号:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多