2016-04-04 2 views
0

Как описано в заголовке, у меня есть проблема, что я получаю сообщение об ошибке, как только пытаюсь использовать предложение AS в инструкции sql угловой модуль alasql. будет отображатьсяИспользование предложения «AS» в инструкции SQL в alasql (AngularJS)

следующее сообщение об ошибке:

Error: Parse error on line 1: ... shortcode AS Short code, fname AS fullname -----------------------^ Expecting 'EOF', 'WITH', 'COMMA', 'RPAR', 'PIVOT', 'UNPIVOT', 'REMOVE', 'ORDER', 'WHERE', 'UNION', 'INTERSECT', 'EXCEPT', 'FROM', 'INTO', 'GROUP', 'LIMIT', 'OFFSET', 'END', 'ELSE', 'SEMICOLON', 'GO', got 'LITERAL'

Я не уверен, что я делаю неправильно. В wiki они также без проблем использовали предложение AS.

Мой угловой код очень прост, как показано ниже:

vm.btnExport = function() { 
    alasql('SELECT shortcode AS Short code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]); 
}; 
+0

Я не верю, что эта ошибка выбрана для этого фрагмента кода. У вас нет ключевого слова 'as' здесь – smnbbrv

+0

@smnbbrv Извините, я отредактировал мое сообщение. Эта ошибка возникает из предложения AS. Поскольку, как только я выполняю код без предложения AS, функция работает. – yuro

+0

@Jaco Знаете ли вы лучший угловой модуль для экспорта данных в excel? – yuro

ответ

1

Большинство, если не все базы данных не позволяют пробелы в таблице, имена столбцов или псевдонимы. В Аласкле используются квадратные скобки []. Итак, для вашего дела вы можете переименовать Short Code в Short_Code или можете использовать [Short Code]. Однако ... в Аласкле есть много ключевых слов. Поэтому, чтобы быть в безопасности, я помещаю квадратные скобки вокруг всего, что не является ключевым словом.

alasql('SELECT [shortcode] AS [Short code], [fname] AS [fullname] INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]); 
+0

Большое спасибо, Рик! Это очень полезно :) Вы знаете, как я могу определить ширину отдельных ячеек? – yuro

0

Я нашел решение моей проблемы. Это был символ пробела после предложения AS.

Можно просто определить одно слово, а не два.

Пример:

vm.btnExport = function() { 
    alasql('SELECT shortcode AS Short_Code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]); 
}; 
Смежные вопросы