![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запрос в 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)