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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 08:35   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию select не выбирает записи

Здравствуйте.
База FireBird
Код запроса
Код:
DM.FIBDS.Close;
DM.FIBDS.SQLs.SelectSQL.Text:='SELECT * FROM SOTRUDNIKI WHERE SOTRUDNIKI."№ АГЕНСТВА"='+QuotedStr('3');
DM.FIBDS.Open;
showmessage(inttostr(DM.FIBDS.RecordCount));
в таблице содержится 3 записи со значением 3
Данное поле имеет тип integer думаю проблема в этом.
Так же пробовал данный запрос без кавычек эфект одинаковый выводится цифра 1
Lokos вне форума Ответить с цитированием
Старый 29.09.2010, 09:14   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Ну правильно. Запрос и вернет тебе запись со значением 3. Попробуй поставить предикат DISTINCT.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 29.09.2010, 09:57   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Данное поле имеет тип integer думаю проблема в этом.
Ну дык зачем ты тогда в ковычки параметр поиска берешь?
Код:
DM.FIBDS.SQLs.SelectSQL.Text:='SELECT * FROM SOTRUDNIKI WHERE SOTRUDNIKI."№ АГЕНСТВА"=3');
И вообще непонятно что значит фраза "не выбирает записи"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2010, 10:24   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
И вообще непонятно что значит фраза "не выбирает записи"
Согласен. Данная фраза неуместна здесь, т.к. слово SELECT априори означает выборку записей и записи будут выбраны в любом случае. А вот какие...это уже зависит от логики запроса.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 30.09.2010, 04:40   #5
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Согласен. Данная фраза неуместна здесь, т.к. слово SELECT априори означает выборку записей и записи будут выбраны в любом случае. А вот какие...это уже зависит от логики запроса.
Извеняюсь за не точность.

свойство Dm.FIBDS.RecordCount принемает значение 1 после выполнения данного запроса. хотя записи с выбераймым параметром в таблице 3.
Вот в чем вопрос свойство RecordCount может принимать значения 0 или 1
сотвецтвенно если не одной записи не выбрано то 0 а если выбрано то 1 или же все таки оно хранит в себе количество выбраных записей.


Что то я не в тот раздел топик написал. Перенесите пожайлусто.
Lokos вне форума Ответить с цитированием
Старый 30.09.2010, 07:47   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
оно хранит в себе количество выбранных записей.
Вот именно.
У тебя просто неверный запрос.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.09.2010, 07:55   #7
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вот именно.
У тебя просто неверный запрос.
Код:
DM.FIBDS.SQLs.SelectSQL.Text:='SELECT * FROM SOTRUDNIKI WHERE SOTRUDNIKI."№ АГЕНСТВА"=3');
что в данном запросе не верно?
Выводится все равно еденица а в таблице 3 записи в которых № АГЕНСТВА=3
Lokos вне форума Ответить с цитированием
Старый 30.09.2010, 08:05   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Lokos Посмотреть сообщение
Код:
DM.FIBDS.SQLs.SelectSQL.Text:='SELECT * FROM SOTRUDNIKI WHERE SOTRUDNIKI."№ АГЕНСТВА"=3');
что в данном запросе не верно?
Выводится все равно еденица а в таблице 3 записи в которых № АГЕНСТВА=3
может быть из-за этого?
Код:
DM.FIBDS.SQLs.SelectSQL.Text:='SELECT * FROM SOTRUDNIKI WHERE SOTRUDNIKI."№ АГЕНТСТВА"=3');


ПС: попробуйте вместо кавычек попробовать квадратные скобки - в других БД, поддерживающих нестандартные наименования колонок они используются; или же попробуйте переименовать столбец, например Number_of_agency.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 30.09.2010, 10:13   #9
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

2 Lokos:
В самой СУБД запрос не проверял?
maLoy*508 вне форума Ответить с цитированием
Старый 04.10.2010, 04:22   #10
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Sparkman Посмотреть сообщение
может быть из-за этого?
Код:
DM.FIBDS.SQLs.SelectSQL.Text:='SELECT * FROM SOTRUDNIKI WHERE SOTRUDNIKI."№ АГЕНТСТВА"=3');


ПС: попробуйте вместо кавычек попробовать квадратные скобки - в других БД, поддерживающих нестандартные наименования колонок они используются; или же попробуйте переименовать столбец, например Number_of_agency.
Вот код запроса там опечатка была
Код:
DM.FIBDS.Close;
DM.FIBDS.SQLs.SelectSQL.Text:='SELECT * FROM SOTRUDNIKI WHERE "№ АГЕНСТВА"=3';
DM.FIBDS.Open;
showmessage(inttostr(DM.FIBDS.RecordCount));
в сообщении выводится число 1, а записи в таблице 3 с этим значением
Lokos вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В зависимости от выбора в Select изменить значения другого Select Tayfun HTML и CSS 3 18.08.2011 00:05
Excel 2003: Worksheets().Shapes().Select - выбирает не весь текст фигуры ZaeC Microsoft Office Excel 0 26.05.2010 14:15
Select t1.N,t1.FIO,(select t2.acc from t2 where t2.type=1) from t1,t2 mavlon_m SQL, базы данных 2 17.09.2009 15:28
Передача значения в <select></select> kkkggg Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 06.09.2007 00:26