Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск по Query [D6, XP]


Страницы:   1 2

Q8 ©   (2007-06-27 13:55:00) 

Здравствуйте мастера! Есть вопрос:
имеются DBGrid, DataSource, Query, button1 и два Edit'a. Подскажите пожалуйста, какими командами можно осуществить поиск в базе? Нужно, что бы введя в поле едит, и нажав на кнопку Button, осуществлялся поиск по определенному столбцую.Проблема в том, что это нужно сделать через SQL запрос, в чем я слабоват((.


homm   (2007-06-27 16:06:00) [21]

> Ну-ну, впиши туда д'Артаньяна, я хочу на это посмотреть.

Легко :)

Edit1.text := 'д’Артаньян';
SQL.Add('Where FIO='''+Edit1.text+'''');


А вобше конечно ты прав, нужно так:

SQL.Add('Where FIO='''+str_replace('''', '\''', Edit1.text)+'''');

Обидно, блин, к [10] о не придрался :)


Q8   (2007-06-27 16:04:00) [22]

Опа! Еще вопрос! Имеется база с Фамилиями и инициалами(например Попов И.И., Попов А.Г.)Как сделать, что бы введя в Едит фамилию, без инициалов, программа находила всех однофамильцев?


Desdechado   (2007-06-27 15:59:00) [23]

> SQL.Add('Where FIO='''+Edit1.text+'''');
Ну-ну, впиши туда д'Артаньяна, я хочу на это посмотреть.


Q8   (2007-06-27 15:51:00) [24]

Ребята! Вы действительно мастера! Все получилось! Всем помагавшим огромный РЕСПЕКТ! Просьба к админам не закрывать топик, может возникнут еще какие-нибудь проблемы по тем....


homm   (2007-06-27 15:17:00) [25]

> [9] Q8   (27.06.07 15:13)

Скажи мне, откуда СУБД должна быть осведомлена что такое Edit1.text, для нее это набор символов. Тебе нужно значение, которое в Edit1.text лежит передать.


Washington   (2007-06-27 15:16:00) [26]

SQL.Add('Where FIO='+Edit1.Text);


homm   (2007-06-27 15:16:00) [27]

> SQL.Add('Where FIO=Edit1.text');

SQL.Add('Where FIO='''+Edit1.text+'''');


Q8   (2007-06-27 15:13:00) [28]

Ну вот, попробовал)), в общем нужно кое-что уточнить:

SQL.Add('Where Условие');можно тут подробней?
Я пишу так
With Query1 do begin
close;
Sql.Clear;
Sql.Add('Select *');
Sql.Add('From KSM_Base');
SQL.Add('Where FIO=Edit1.text');
open;


пишет Invalid Field name.text


Q8   (2007-06-27 14:41:00) [29]

Спасибо за советы! Пойду пробовать!


ОН   (2007-06-27 14:18:00) [30]

Я наверное всех задолбал. Просто хочу быстрее закончить свою прогу и уйти на "пенсию", в отставку.


Ega23   (2007-06-27 14:12:00) [31]


> Не, знаю, как ему, а вот мне нравится, когда отвечают подробно.
>  Я же дотошный типс...


Зачем до маразма-то доводить?

function ConvertBoolean(const Value : Boolean) : Boolean;
begin
 if Value=True then
  begin
    Result := False
  end
 else
  if Value=False then
   begin
     Result := True
   end
 else
   raise Exception.Create('Unknown boolean value!');
end;


ОН   (2007-06-27 14:02:00) [32]

Не, знаю, как ему, а вот мне нравится, когда отвечают подробно. Я же дотошный типс...


Ega23   (2007-06-27 14:01:00) [33]

Sql.Clear;
Sql.Add('Select Столбец');
Sql.Add('From Таблица');
SQL.Add('Where Условие');


Всё это заменяется на SQL.Text := 'Select Столбец from Таблица where Условие';


homm   (2007-06-27 13:59:00) [34]

> With Query1 do begin
> close;
> Sql.Clear;
> Sql.Add('Select Столбец');
> Sql.Add('From Таблица');
> SQL.Add('Where Условие');
> open;
> end;

Ужас. А по букву слабо?


Ega23   (2007-06-27 13:57:00) [35]

Select * from Table where Column=Edit1.Text


ОН   (2007-06-27 13:57:00) [36]

With Query1 do begin
 close;
 Sql.Clear;
 Sql.Add('Select Столбец');
 Sql.Add('From Таблица');
 SQL.Add('Where Условие');
 open;
end;

Примерно так.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо