jak wyszukiwać w dbgrid

0

Jak wyszukiwać nazwę wpisaną w edit w dbgrid ?!

0

Wyszukuj w tabeli czy query a nie w gridzie.

0

editKey;
FieldByName(DBGrid1.Columns[0].fieldname).AsString:=edit1.text;
{LUB MOZNA TO UZYSKAC POPRZEZ ZAPIS}
FieldByName('Nr').AsString:=edit1.text;
GotoNearest;

0

Jeśli szukasz w/g pola z indexem to proponuje:

procedure TForm1.Edit1Change(Sender: TObject);
begin
If Edit1.Text <> '' Then 
begin
  If Table1.FindKey([Edit1.Text]) = False Then ; 
  begin
    Table1.FindNearest([Edit1.Text]); // jesli nie ma szukanego textu to szukaj podobny
    ...  
  end;
end;
End;

jeśli w/g nie indeksowanego to:

...
Table1.First;
Table1.Locate('Nazwa_pola',(Edit1.text,[]) ;
...

jeśli szuksz ciągu podobnego (z % lub _ ) to pozostaje query :

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
Var
   st : TstringList;
begin
IF key=13 Then
Begin
  IF (Pos('%',Edit1.text) > 0) or (Pos('_',Edit1.text) > 0) then
  Begin
    form1.Edit1.Cursor:=crHourglass;
    Application.ProcessMessages; 
    st := TstringList.Create;
    st.Clear;
    st.Add('select nazwa_pola1, nazwa_pola2'); // lub * 
    st.Add('from nazwabazy');
    st.Add('Where Nazwa_pola1 LIKE "'+Edit1.text+'"' );  
    st.Add('Order by Nazwa_pola1'); // sortowanie nie koniecznie
    Dm1.Query1.Active := False;
    DM1.Query1.SQL := st ;
    DM1.Query1.Active := True ;
    st.Free;
    form1.Edit1.Cursor:=crDefault;
...
0

Witam.
W czym wyświetlić wynik z wykonanego query.sql można w dbgrid czy w listview, jak to zrobić ?
pozdro

0

OK, a jak można zresetować numerację Autoinkrementacji w Tabeli?
Nieraz sięzdarza że usuniemy zawartość tabeli a autoinkrementacja zaczyna numerować pierwszy rekord. np od numeru 12 itd.

0

Ponawiam pytanie jak wyświetlić wyniki z zapytania query.sql w jakim komponencie wyswietlic dane pomocy bo sam nie wpadne na to ;(

1 użytkowników online, w tym zalogowanych: 0, gości: 1