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

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

запрос в sql [D6, dBase, FoxPro]


rosl ©   (2003-06-10 09:31:00) 

Подскажите новичку!
Есть таблица:
field1 field2
a 1
a 1
a 2
b 1
мне нужно отобрать записи:
a 1
делаю запрос в sql:
Query1.Close;
Query1.SQL.Add("select * from main1.dbf");
Query1.SQL.Add("where field1 like "+"""%"+ Edit1.Text+"%""");
Query1.Open;
как сделать отбор по двум полям срзу?


Val   (2003-06-11 17:42:00) [1]

да, после имени таблицы пробел вставьте


Val   (2003-06-11 17:41:00) [2]

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add("select * from main1.dbf");
Query1.SQL.Add("where prim = :p1 and name =:p2");
//или, если нужно с "like"
//Query1.SQL.Add("where prim like "+#39+" :p1 "+#39+ " and name
//like "+#39+":p2 "+ #39);
Query1.ParamByName("p1").AsString := Edit1.Text;
Query1.ParamByName("p2").AsString := Edit2.Text;
Query1.Open;


D&M   (2003-06-11 17:12:00) [3]

Query1.SQL.Add("where (prim like "+""%"+ edit1.Text+"%"" + ") and (name like "+""%"+ edit2.Text+"%")");
Так по моему правильнее... С кавычкам нескладуха...


ЮЮ   (2003-06-11 09:57:00) [4]

а как ещё ему попасть в текст запроса, как не будучи строкой
:-)))))))))))))))))
а сейчас он :
Query1.SQL.Add("текст1" and "текст2");


Соловьев   (2003-06-11 09:47:00) [5]


> );
>
> and должен быть частью запроса а не оператором Object Pascal
> :-)

та нет он как раз должен быть как строка :)))


Zacho   (2003-06-11 08:53:00) [6]

И советую использовать функцию AnsiQuotedStr, а то неприятность может случиться, если в edit.text кавычки будут :-)


ЮЮ   (2003-06-11 08:48:00) [7]

Query1.SQL.Add("where"+"(prim like "+"""%"+ edit1.Text+"%"")" and"(name like "+"""%"+ edit2.Text+"%"")");

andдолжен быть частью запроса а не оператором Object Pascal :-)


Жук   (2003-06-11 08:39:00) [8]

С кавычками раберитесь


rosl   (2003-06-11 08:32:00) [9]

>Не получается
Что? Как? А что получается, когда не получается? :-)

--------------------------------------------------------
не компилируется


rosl   (2003-06-11 08:31:00) [10]

извиняюсь!!!
>Query1.SQL.Add("where"+"(prim like "+"""%"+ edit1.Text+"%"")" and "(name like "+"""%"+ edit2.Text+"%"")");


ЮЮ   (2003-06-11 07:38:00) [11]

>Не получается
Что? Как? А что получается, когда не получается? :-)


ЮЮ   (2003-06-11 07:36:00) [12]

>как сделать отбор по двумполям срзу?
>Query1.SQL.Add("where"+"( primlike "+"""%"+ edit1.Text+"%"")" and "( primlike "+"""%"+ edit2.Text+"%"")");

Противоречие однако :-)


rosl   (2003-06-11 07:31:00) [13]

Не получается.

На самом деле запрос такой:
Query1.SQL.Add("where"+"(prim like "+"""%"+ edit1.Text+"%"")" and "(prim like "+"""%"+ edit2.Text+"%"")");

может я не так понял.


Соловьев   (2003-06-10 09:39:00) [14]

select *
from table
where (f1=a) and (f2=1)


Наверх

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