![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Помогите, пожалуйста, требуется изменить условия запроса на форме во время работы. Предполагается выбирать имя поля из ComboBox, а название записи вбивать в Edit. Как правильно написать в SQL запросе? Вот такая запись является неверной:
Код:
procedure TForm3.Button1Click(Sender: TObject); Var Pole, Znach: String; begin Pole:=ComboBox1.Text; Znach:=Edit1.Text; with Form3.Query1 do begin Close; SQL.Clear; SQL.Add('SELECT *'); SQL.Add('FROM OsSklad'); SQL.Add('WHERE'); SQL.Add('"Pole"="Znach"'); <---как правильно написать надо??? Подскажите ситаксис Open; end; Заранее спасибо Последний раз редактировалось Admin, 19.04.2012 в 15:49. |
#2
|
||||
|
||||
![]() так, если нужно сравнить числа:
Код:
SQL.Add('SELECT *'); SQL.Add('FROM OsSklad'); SQL.Add('WHERE'); SQL.Add([Pole]=1') Код:
SQL.Add('SELECT *'); SQL.Add('FROM OsSklad'); SQL.Add('WHERE'); SQL.Add([Pole]=''text''') Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Не работает((, объясню еще раз какова задача. В ComboBox из списка вибирается поле(Name, Type, Pol, Cena и др.) - переменная Pole:String, в Edit заносится содержание поля - переменная Znach:String, после нажатия на кнопку в таблице появляются записи удовлетворяющие условию.
|
#4
|
||||
|
||||
![]() Использую такой код:
Код:
if sEdit1.Text = '' then exit; if sCheckBox1.Checked = True then a := '' else a := '%'; if sComboBox1.ItemIndex=0 then Exit; pole := sComboBox1.Text; SQL.Text := 'SELECT * FROM [Таблица] WHERE '+ pole + ' Like ''' + a + sEdit1.Text + '%'''; Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому |
Этот пользователь сказал Спасибо Klassenas за это полезное сообщение: | ||
AlexGTX (22.04.2012)
|
#5
|
|||
|
|||
![]() Спасибище!!!!!!! То что надо!!! Приятно работать с профессионалами!!!!!
|
#6
|
||||
|
||||
![]() Код:
procedure TForm3.Button1Click(Sender: TObject); begin with Form3.Query1 do begin Close; SQL.Clear; SQL.Add('select *'); SQL.Add('from OsSklad'); SQL.Add('where ['+ComboBox1.Text+'] = '+QuotedStr(Edit1.Text)); Open; end; end; Google в помощь |
#7
|
|||
|
|||
![]() Спасибо за быстрый ответ (всем), похоже на то что мне надо, но не работет, может какой-нибудь шаблон есть, который регламентирует символику в этом случае. В идеале мне нужно это:
SQL.Add('WHERE'); SQL.Add('ComboBox1.Text = QuotedStr(Edit1.Text)); только осталось правильно записать, обозначить нужными символами. |
#8
|
||||
|
||||
![]() была уже где-то данная тема, в лом искать.
в событии выполнения напиши: Код:
case Combobox1.ItemIndex of 0:FindName; 1:findType; 2:findPol; 3:findCena; end; где например FindName процедура поиска по имени в например может быть такой код: Код:
procedure FindName; begin with Form3.Query1 do begin Close; SQL.Clear; SQL.Add('select *'); SQL.Add('from OsSklad'); SQL.Add('where ['Name'] = '+QuotedStr(Edit1.Text)); Open; end; end аналогично с другими полями. данный метод не универсален, но если, в принципе, полей не так уж и много то вполне может подойти. |