2016-10-18 2 views
0

Когда я использую следующий запрос с модулем узла MSSQL он выдает ошибку о том, что естьnodejs ошибка синтаксиса MSSQL

Invalid column name 'L'. 

По какой-то причине, по его мнению, значение в пределах аналогичного утверждения столбец имя.

'SELECT TOP 10 * From [Products] WHERE [Code] LIKE "%LO%" 

Есть ли какое-то специальный синтаксис нужно использовать

ПОЛНОГО КОД (из примера MSSQL НОГО):

var express = require('express'); 
var app = express(); 

app.get('/', function (req, res) { 

    var sql = require("mssql"); 

    // config for your database 
    var config = { 
     user: 'username', 
     password: 'password', 
     server: '192.168.0.165\\database', // You can use 'localhost\\instance' to connect to named instance 
     database: 'Products', 

     options: { 
      encrypt: false // Use this if you're on Windows Azure 
     } 
    } 

    // connect to your database 
    sql.connect(config, function (err) { 

     if (err) console.log(err); 

     // create Request object 
     var request = new sql.Request(); 

     // query to the database and get the records 
     request.query('select TOP 10 * From [Products] WHERE [Code] LIKE "%LO%"', function (err, recordset) { 

      if (err) console.log(err) 
       var items = []; 
       recordset.forEach(function(row){ 
        items.push(row.Code); 
       }) 

      res.send(items); 

     }); 
    }); 
}); 

var server = app.listen(5000, function() { 
    console.log('Server is running..'); 
}); 
+1

показать полный код + SQL. у вас явно отсутствует хотя бы один '' 'там ... –

+2

Являются ли эти двойные кавычки вокруг строки поиска? Если это так, вам нужно 2 одинарных кавычки вокруг него и другую одинарную цитату, чтобы прервать утверждение. Но да, показать больше, лучше для всех нас. –

+0

Код обновлен. Я, похоже, исправил это, используя приведенную ниже инструкцию: 'select TOP 10 * From [Products] WHERE [Code] LIKE \'% lo% \ '' Так как мне пришлось переключаться на одинарные кавычки, а затем избегать двух используется для строки поиска ... Являются ли двойные кавычки незаконными в mssql? – Query

ответ

1

При использовании одиночных кавычек в SQL заявления вы должны спасаясь от ' персонаж.

Например:

'SELECT TOP 10 * FROM [Products] WHERE [Code] LIKE \'%LO%\'' 
Смежные вопросы