![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Веб-разработчик
Форумчанин
Регистрация: 16.01.2008
Сообщений: 451
|
![]()
Составил запрос:
Код:
я так понимаю он не может найти запись в бд с таким названием? Как побороть это? Судя по всему кодировка виновата....
Я ваш новый друг, смиритесь!
![]() |
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Для начала:
ZQuery1.SQL.Add('select name from items where type='+''''+nametype+''''); или ZQuery1.SQL.Add('select name from items where type='+'Quoted(nametype)); Тогда не будет восприниматься как имя поля. З.Ы. Никак не пойму, почему не используют для однострочных запросов ZQuery1.SQL.Text:= ? Последний раз редактировалось mihali4; 10.02.2009 в 00:11. |
![]() |
![]() |
![]() |
#3 |
Веб-разработчик
Форумчанин
Регистрация: 16.01.2008
Сообщений: 451
|
![]()
Спасибо, первый вариант работает, второй не пробовал.
Есть проблемка он проходит цикл например 40 раз, записей удовлетворяющих условию where например 1, так вот он 40 раз её добавит, понятия не имею как sql-ом проверить что записи разные, добавлять переменную вносить в немм считанную запись и проверять с уже загруженными желания нет, ибо придется помучиться и программа будет довольно медленно работать, она и при простом считавании не ахти в скорости, что посоветуете? насчет .text не использовал ибо sql и все компоненты для работы с ним для меня новое, делаю так как написано в статья/форумах/книгах =).
Я ваш новый друг, смиритесь!
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
![]()
а если вот так попробовать:
begin case typename.ItemIndex of 0:nametype:='Плащ'; 1:nametype:='Шлем'; 2:nametype:='Амулет'; 3:nametype:='Меч'; 4:nametype:='Посох'; 5:nametype:='Лук'; 6:nametype:='Доспехи'; 7:nametype:='Щит'; 8:nametype:='Пояс'; 9:nametype:='Перчатки'; 10:nametype:='Кольцо'; 11:nametype:='Ботинки'; end; ZQuery1.Close; ZQuery1.SQL.Clear; ZQuery1.SQL.Add('select name from items where type='+nametype+';'); ZQuery1.Active:=true; while not ZQuery1.eof do begin dblb.Items.Add(ZQuery1.FieldByName( 'name').AsString); ZQery1.next; end; end;
Тяжело быть бестолковым.....
![]() |
![]() |
![]() |
![]() |
#5 |
Веб-разработчик
Форумчанин
Регистрация: 16.01.2008
Сообщений: 451
|
![]()
А что это изменит? Добавляет все записи из бд, потом опять и опять, вроде все попорядку, но куча одинакового.
====================== Внимательнее посмотрел на условие, по идеи должно работать, но цикл не останавливается...
Я ваш новый друг, смиритесь!
![]() Последний раз редактировалось [Smarik]; 10.02.2009 в 15:58. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
![]()
смотри:
select name from items where type='+nametype+';' этот запрос выберет из таблицы все имена тип которых будет nametype select distinct name from items where type='+nametype+';' выберёт все уникальные имена тип которых будет nametype дальше немного изменим: ZQuery1.First; - перемещаемся на первую запись твоего набора ZQuery1 while not (ZQuery1.eof) do begin dblb.Items.Add(ZQuery1.FieldByName( 'name').AsStrin g); ZQuery1.next; end; походу должно работать, если нет можно поробовать немного не так: if ZQuery1.RecordCount<>0 then for i:=0 to ZQuery.RecordCount-1 do begin dblb.Items.Add(ZQuery1.FieldByName( 'name').AsStrin g); ZQuery1.next; end;
Тяжело быть бестолковым.....
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
![]()
если можно сформулируй точно что ты хочешь получить, в каком виде, и из чего
Тяжело быть бестолковым.....
![]() |
![]() |
![]() |
![]() |
#8 |
Веб-разработчик
Форумчанин
Регистрация: 16.01.2008
Сообщений: 451
|
![]()
как то не очень работает =)
что хочу получить: в бд хранятся записи, пользователь выбирает тип меч, броня и.т.п после выбора формируется запрос, например он выбрал меч, идет запрос добавить в листбокс имена всех записей тип который = меч, вот вобщем то и все.
Я ваш новый друг, смиритесь!
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
![]()
м-м-м-м, а что именно не работает: запрос или не добавляет в листбокс?
и ещё, ты как-то можешь проверить что возвращает твой запрос, не через твоё приложение, а каким-то другим способом (например каким-то SQL-manager-ом)?
Тяжело быть бестолковым.....
![]() |
![]() |
![]() |
![]() |
#10 |
только учусь!
Форумчанин
Регистрация: 08.02.2009
Сообщений: 124
|
![]()
А цикл то зачем?Вытащи записи в запрос. Потом добавляй их.
«Я знаю, что ничего не знаю, но многие не знают и этого».
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с кодировкой... | SynonymMixer | Общие вопросы Delphi | 6 | 28.01.2009 15:40 |
Проблема с кодировкой | feniks65 | Паскаль, Turbo Pascal, PascalABC.NET | 13 | 06.01.2009 11:00 |
Проблемы с кодировкой | Levchik | HTML и CSS | 2 | 16.12.2008 16:12 |
Проблемы с кодировкой писем | Черничный | Win Api | 7 | 16.06.2008 12:19 |
Дельфи 8. Проблема с кодировкой. | Venor | Общие вопросы Delphi | 1 | 10.06.2008 20:44 |