SSMS Неверное имя столбца - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть эта таблица здесь: 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

Я не понимаю, откуда эта ошибка. Это потому, что я не добавил идентификатор в строку вставки? Я не ввел идентификатор, так как думал, что он мне не нужен, когда SMMS позаботится об идентификаторе. Я уже проверил типы данных моего ввода, и это строка и int, поэтому я сомневаюсь, что это из-за типов данных. Есть предложения?

1 Ответ

0 голосов
/ 29 апреля 2018

Ваше INSERT утверждение выглядит неправильно для меня. Я считаю, что вы должны иметь одинарные кавычки вокруг параметра Title:

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

Обратите внимание на одинарную кавычку перед первой закрывающей двойной кавычкой и одинарную кавычку перед первой запятой.

...