Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск по БД через запросы 
V
    Опции темы
Vavik
Дата 16.9.2009, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Access+ADO.
Делаю поиск через запрос, дело вроде пустяковое, но у меня почему-то с этим проблемы.

Запрос
Код

SELECT * FROM Рефераты where Тема= 'Как стать президентом'

Работает нориально.
А такого вида.
Код

SELECT * FROM Рефераты where Тема= '+Form3.edit1.text+'

Выдаёт результат, но с пустыми ячейками.

В идеале нужно, чтобы не учитывался регистр и поиск выполнялся даже если задана часть слова или слово, а не точная фраза.
Что я делаю не так ?

Это сообщение отредактировал(а) Vavik - 16.9.2009, 20:04
PM MAIL   Вверх
Данкинг
Дата 16.9.2009, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Код

SELECT * FROM Рефераты where Тема="'+Form3.edit1.text+'"';
SELECT * FROM Рефераты where Тема like "%'+Form3.edit1.text+'%"';





--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vavik
Дата 16.9.2009, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Данкинг @ 16.9.2009,  20:04)
Код

SELECT * FROM Рефераты where Тема="'+Form3.edit1.text+'"';
SELECT * FROM Рефераты where Тема like "%'+Form3.edit1.text+'%"';

Говорит, что строка содержет синтаксическую ошибку.
PM MAIL   Вверх
Данкинг
Дата 16.9.2009, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Vavik, покажи полный код.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vavik
Дата 16.9.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Данкинг @ 16.9.2009,  20:38)
Vavik, покажи полный код.

Код

procedure TForm3.Button1Click(Sender: TObject);
begin
Form1.FindQuery.Active:=False;
Form1.DBGrid1.DataSource:=Form1.DataSource1;
Form1.FindQuery.Active:=True;
end;

Запрос в квери.
PM MAIL   Вверх
Kison
Дата 16.9.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 16.9.2009

Репутация: нет
Всего: нет



Попробуй так


VAR 
  EDIT_TEXT :string;
BEGIN
  EDIT_TEXT:=Form3.edit1.text; 
  with Query_Name do
    begin
      Close;
      Sql.Clear;
      Sql.Text:='Select * From Рефераты where Тема = :EDIT_TEXT';
      ParamByName('EDIT_TEXT').AsString:=EDIT_TEXT;
      Open;
      res:=FieldByName('ID_TEAM').AsInteger;
    end;
END;


PM MAIL ICQ   Вверх
Vavik
Дата 16.9.2009, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Kison @ 16.9.2009,  20:51)
Попробуй так


VAR 
  EDIT_TEXT :string;
BEGIN
  EDIT_TEXT:=Form3.edit1.text; 
  with Query_Name do
    begin
      Close;
      Sql.Clear;
      Sql.Text:='Select * From Рефераты where Тема = :EDIT_TEXT';
      ParamByName('EDIT_TEXT').AsString:=EDIT_TEXT;
      Open;
      res:=FieldByName('ID_TEAM').AsInteger;
    end;
END;

Чёт пипец нагорожено, не работает) Тут всё проще должно быть.

Вообщем конкретный запрос типа
Код

SELECT * FROM Рефераты where Группа like '%ист%'

работает ноормально

А если слово из эдита брать, то отказывается работать.

Это сообщение отредактировал(а) Vavik - 16.9.2009, 21:25
PM MAIL   Вверх
Данкинг
Дата 16.9.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Вот у меня рабочий код:
Код

AdoQuery.SQL.Add('select all (info) from spisok where disk="'+edit1.Text+'" order by info');




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vavik
Дата 16.9.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Данкинг @ 16.9.2009,  21:37)
Вот у меня рабочий код:
Код

AdoQuery.SQL.Add('select all (info) from spisok where disk="'+edit1.Text+'" order by info');

Спасибо за помощь, но всё равно не работает, пустые ячейки выводит и всё :(
PM MAIL   Вверх
Данкинг
Дата 16.9.2009, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Vavik @  16.9.2009,  22:45 Найти цитируемый пост)
пустые ячейки выводит и всё :( 

А такие данные точно существуют в таблице? smile Ну, попробуй trim(edit1.text).


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vavik
Дата 16.9.2009, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Данкинг @ 16.9.2009,  21:56)
Цитата(Vavik @  16.9.2009,  22:45 Найти цитируемый пост)
пустые ячейки выводит и всё :( 

А такие данные точно существуют в таблице? smile Ну, попробуй trim(edit1.text).

Существуют) без эдита ведь работает. Trim не помог :(
PM MAIL   Вверх
Данкинг
Дата 16.9.2009, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Vavik @  16.9.2009,  21:41 Найти цитируемый пост)
Запрос в квери. 

Пиши запрос в самом коде тогда.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vavik
Дата 16.9.2009, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 19.4.2007
Где: РнД

Репутация: нет
Всего: нет



Цитата(Данкинг @ 16.9.2009,  22:11)
Цитата(Vavik @  16.9.2009,  21:41 Найти цитируемый пост)
Запрос в квери. 

Пиши запрос в самом коде тогда.

Ыыы, заработало)
PM MAIL   Вверх
Данкинг
Дата 16.9.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Vavik @  16.9.2009,  23:21 Найти цитируемый пост)
Ыыы, заработало) 

Мораль: не надо извращаться почём зря. smile  smile  smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0618 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.