Поиск По Базе, Locate

Тема в разделе "Delphi - Базы данных", создана пользователем MMihan, 6 дек 2011.

  1. MMihan

    MMihan Гость

    Доброго времени суток!

    Кликая по строке в Dbgrid Открываться Форма с Edit ами, если в поле 'Закрыто' True (1) булево значение, условие выполняется , то Edit ы надеются редактироваться.

    в MSSQL Тип данных в поле 'Закрыто' Булево... если cделать запрос то отображается '1' ,в Dbgrid отображается как 'True ' запись в поле 'Закрыто' чекбоксом
    Код (Delphi):
    mform.ADOTable1.FieldByName('Закрыта').AsBoolean:=true;
    не помогу понять что не так .. пробовал разными вариантами
    пробовал в KeyValues и Труе и 1

    Почему то всегда ((((, выполняется "ShowForm.Edit2.ReadOnly:=true; "

    Код (Delphi):
    procedure TMform.DBGrid1DblClick(Sender: TObject);

    begin

    ADOQuery1.Close; {деактивируем запрос в качестве одной из мер предосторожности}
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Select Закрыта');
    ADOQuery1.SQL.Add('from Клиент');
    ADOQuery1.SQL.Add('Where Закрыта = True')
    ADOQuery1.Open;

    if ADOQuery1.Locate('Закрыта',True,[]) then begin

    ShowForm.Edit2.ReadOnly:=true;
    ....
    end
    else
    ShowForm.Edit2.ReadOnly:=false;
    ....

    begin
    Showform.EDIT1.Text := DBGrid1.DataSource.DataSet.FieldByName('КЛ').AsString;
    Showform.EDIT12.Text := DBGrid1.DataSource.DataSet.FieldByName('ФИО').AsString;
    .......
    showForm.ShowModal;
    end
    end;

    Может какнибудь по другому решить это?
     
Загрузка...

Поделиться этой страницей