|
#1
|
||||
|
||||
фильтр query
Всем привет, получается фильтрация слов, но не чисел, я раз сто переделывала код, бес толку, если интересно вот программа: http://webfile.ru/6518808 пароль:123
самое обидное , что программа практически готова, только из за такой мелочи не могу сдать ( |
#2
|
||||
|
||||
напиши здесь запрос, что в фильтре
не охота ниче качать Я за здоровый экстрим! Спасибо за "спасибо") |
Этот пользователь сказал Спасибо Mrak за это полезное сообщение: | ||
nobik (14.05.2013)
|
#3
|
||||
|
||||
Код:
qry1.Active:=False; qry1.SQL.Clear; qry1.SQL.Add('SELECT *'); qry1.SQL.Add('FROM xochy'); qry1.SQL.Add('WHERE количество комнат LIKE '''+ cbb2.Text + '''' ); qry1.Active:=True; Последний раз редактировалось lmikle, 15.05.2013 в 06:43. |
#4
|
||||
|
||||
Код:
qry1.Close; qry1.SQL.Text := 'SELECT * FROM xochy WHERE [количество комнат] = ' + cbb2.Text; qry1.Open; Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
nobik (14.05.2013)
|
#5
|
||||
|
||||
сработало)) ты гений) оказывается так просто, над этими парочками строчек я так долго мучилась
а с ценой так же будет ? от 100 до 200 к примеру Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)]> = ' + edt1.Text+ 'and цена (руб) <='+edt2.Text; компилирует, правда потом пишет что пропущен оператор=\ Последний раз редактировалось M.A.D.M.A.N., 15.05.2013 в 07:37. |
#6
|
||||
|
||||
Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)] >= ' + Edt1.Text + ' AND [цена (руб)] <= ' + Edt2.Text; Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)] BETWEEN ' + Edt1.Text + ' AND ' + Edt2.Text; Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
nobik (14.05.2013)
|
#7
|
||||
|
||||
странно, в обоих случаях выдает ошибку
в первом синтаксическую ошибку, а во втором про несоответствие типов ну мне просто слегка сложновато это осваивать, поэтому смотрю по примерам) |
#8
|
||||
|
||||
А вы в отладчике посмотрите, что у вас собственно получается после сборуи в qry1.SQL.Text.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#9
|
||||
|
||||
Немного не по теме, но в таком варианте база не откроется на другом компьютере, т.к. возможно не совпадет путь к файлу *.mdb. Для решения можно в процедуру TForm1.FormCreate добавить вот это
Код:
con1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;' + 'User ID=Admin;' + 'Data Source=' + ExtractFileDir(ParamSTR(0)) + '\proba.mdb;' + 'Mode=Share Deny None;' + 'Extended Properties="";' + 'Jet OLEDB:System database="";' + 'Jet OLEDB:Registry Path="";' + 'Jet OLEDB:Database Password="";' + 'Jet OLEDB:Engine Type=5;' + 'Jet OLEDB:Database Locking Mode=1;' + 'Jet OLEDB:Global Partial Bulk Ops=2;' + 'Jet OLEDB:Global Bulk Transactions=1;' + 'Jet OLEDB:New Database Password="";' + 'Jet OLEDB:Create System Database=False;' + 'Jet OLEDB:Encrypt Database=False;' + 'Jet OLEDB:Don''t Copy Locale on Compact=False;' + 'Jet OLEDB:Compact Without Replica Repair=False;' + 'Jet OLEDB:SFP=False'; con1.Connected:= true; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#10
|
||||
|
||||
Цитата:
Внимательней будь. А вообще, чтобы такое не городить, надо использовать параметры: Код:
qry1.SQL.Text := 'SELECT * FROM xochy WHERE [цена (руб)]>= :val1 and цена (руб) <= :val2' — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |