Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 20:12   #11
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
Так и группируйте по нужным полям, если необходимо. В данном случае у вас всё тривиально, даже группировка не нужна, просто 'ПОКС' обязано быть в кавычках. Вы ещё раз внимательно посмотрите на пример в пост #3 и сравните с имеющимся в программе. Если разницы нет и не работает - посмотрите ещё раз...
Кавычки выставлялись по разному.
Код:
WHERE _testvar = 'ПОКС'
Код:
~WHERE _testvar = ' + #39 'ПОКС' + #39
~WHERE _testvar = ' + #39 + #39 + 'ПОКС' + #39 +#39
и по три кавычки пытался. Ошибка всёравно. А если взять запрос _testvar = 'ПОКС' в кавычки он считает количество всех записей.
hemn6vyr вне форума Ответить с цитированием
Старый 10.03.2013, 20:19   #12
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Не верю! Что означает - "считает количество всех записей"? Всех записей, в которых _testvar='POKC' ? А что вы хотели посчитать?
ReportCube вне форума Ответить с цитированием
Старый 10.03.2013, 20:30   #13
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
Не верю! Что означает - "считает количество всех записей"? Всех записей, в которых _testvar='POKC' ? А что вы хотели посчитать?
Вот с скрин ошибки с разными вариантами.
Я не стал скринить разные вариации с кавычками. Результаты все одинаковы.
В таблице всего 12 записей, 9 из них ПОКС. Но он показывает или 12 или -1 (результат процедуры при ошибке)
Изображения
Тип файла: jpg 1.jpg (24.1 Кб, 134 просмотров)
Тип файла: png 3.png (30.2 Кб, 49 просмотров)
Тип файла: jpg бд.jpg (39.3 Кб, 124 просмотров)
hemn6vyr вне форума Ответить с цитированием
Старый 10.03.2013, 20:39   #14
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

пост #3!!! И не надо ничего менять. 'ПОКС' должен быть в кавычках, а не _testvar.
Неужели трудно скопировать пример и вставить в программу?
ReportCube вне форума Ответить с цитированием
Старый 10.03.2013, 20:49   #15
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
пост #3!!! И не надо ничего менять. 'ПОКС' должен быть в кавычках, а не _testvar.
Неужели трудно скопировать пример и вставить в программу?
Если вставить так, то delphi считает что ей передают 2 строки и непонятный оператор ПОКС
Код:
Label7.Caption := Test.Count('SELECT COUNT(*) AS Cnt FROM students WHERE _testvar = 'ПОКС'');
Цитата:
'SELECT COUNT(*) AS Cnt FROM students WHERE _testvar = '
ПОКС
''
Поэтому кавычки добавляются как код символа #39, но строка
Код:
  Label7.Caption := Test.Count('SELECT COUNT(*) AS Cnt FROM students WHERE _testvar = ' + #39 + 'ПОКС' + #39)
выдаёт ту же ошибку синтаксиса
Изображения
Тип файла: jpg 1.jpg (4.5 Кб, 127 просмотров)
hemn6vyr вне форума Ответить с цитированием
Старый 10.03.2013, 20:58   #16
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Код:
Label7.Caption := Test.Count('SELECT COUNT(*) AS Cnt FROM students WHERE [_testvar] = ' + #39 + 'ПОКС' + #39);
Оказывается нужно было переменную взять в квадратные скобки, подсказали на форуме sql, видимо подчёркивание перед переменной не понравилось.
hemn6vyr вне форума Ответить с цитированием
Старый 10.03.2013, 21:04   #17
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

И какая же у вас СУБД, которая такое не позволяет? Мне просто интересно.
ReportCube вне форума Ответить с цитированием
Старый 10.03.2013, 21:05   #18
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Цитата:
Access
Ну вот ещё пара символов, чтобы сообщение отправилось.
hemn6vyr вне форума Ответить с цитированием
Старый 10.03.2013, 21:12   #19
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Проверил, действительно требуются кавычки, похоже, что _testvar зарезервировано как ключевое слово.
ReportCube вне форума Ответить с цитированием
Старый 10.03.2013, 21:17   #20
hemn6vyr
Пользователь
 
Регистрация: 18.06.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
Проверил, действительно требуются кавычки, похоже, что _testvar зарезервировано как ключевое слово.
Зарезервировано было слово name, поэтому я сделал _name, и все остальные переменные по аналогии, чтоб одинаковыми были :-)
hemn6vyr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Access/ADO чтение значений из базы данных в переменные Den2508 БД в Delphi 1 07.12.2010 00:02
Delphi + ADO + Access Vanta11a Помощь студентам 2 06.09.2010 21:54
delphi+ado+access safarov БД в Delphi 0 19.08.2010 21:47
Delphi <--> ADO <--> Access acid02 БД в Delphi 4 09.04.2009 16:29
Delphi+ADO+Access Turpa Помощь студентам 12 15.10.2007 23:29