0.) Hozzon létre szövegfájlt:
- állatnév
- típus (wtf?! plö.: kutya, rágcsáló, hal, stb.)
- ára
1.) Szövegfájl adatait felvinni a táblába (elválasztó karakteres!)
Query <- SQL:
INSERT INTO táblanév
( név, típus, ár )
VALUES
(:PNEV, :PTIPUS, :PAR)
Csinálj egy 'Felvitel' gombot, és írd be ezeket:
(deklarációkat nem írtam bele! Azt ne felejtsd ki!)
Begin
AssignFile( t, 'D:\SANYI\ADAT.TXT' );
Reset( t );
While Not( EOF( t ) ) Do
Begin
ReadLn( t, s );
n:=pos( '&', s );
s1:=copy( s, 1, n-1 );
delete( s, 1, n );
.
.
.(s2, s3-ra is megírni)
Query1.ParamByName('PNEV').AsString:=s1;
Query1.ParamByName('PTIPUS').AsString:=s2;
Query1.ParamByName('PAR').AsFloat:=strToFloat( s3 );
Query1.Prepare;
Query1.ExecSQL;
Query1.UnPrepare;
End;
CloseFile( t );
End;
2.) Módosítás (Megadsz egy állatnevet meg egy árat, és az állatnév alapján módosítja az árat /feltéve ha van ilyen/)
Beszúrsz egy újabb Query-t és SQL-be:
Query <- SQL:
UPDATE táblanév
SET AR=:PAR
WHERE NEV=:PNEV
Létrehozol 2db editbox-ot, egyet a Név-nek, egyet meg az Ár-nak.
Létrehozol egy gombot 'Módosítás', kód rá:
Begin
Query3.ParamByName('PAR').AsFloat:=strToFloat( Edit2.text );
Query3.ParamByName('PNEV').AsString:=Edit1.text;
Query3.Prepare;
Query3.ExecSQL;
Query3.UnPrepare;
End;
4.) Keresés szórészletre (a névben. plö: mongól futóegér -> "futóegér")
Létrehozol 2 editboxot -> "Állat típusa" és "szórészlet"
plusz létrehozol egy gombot (keresés).
Behúzol egy újabb Query-t:
Query <- SQL:
SELECT * FROM táblanév WHERE TIPUS=:PTIPUS
Kód a 'keresés' gombra:
Begin
Query5.ParamByName('PTIPUS').AsString:=Edit6.text;
Query5.Open;
While NOT Query5.EOF DO
Begin
s:=Query5.FieldByName('NEV').AsString;
IF pos( Edit2.text, s ) > 0 THEN
Begin
Memo1.Lines.Add( Query5.FieldByName('NEV').AsString+'_'+FloatToStr( Query5.FieldByName('AR').AsFloat ) );
End;
Query5.Next; //Fontos!! Ha ez hiányzik, akkor végtelen ciklus lép a program, és fagyás lesz a vége!
End;
Query5.Close;
End;
5.) Válasszuk ki egy adott típusból a legolcsóbbat.
Pl: Rágcsáló. És nevét/árát kiíratni egy Memobox-ba!
Előre jelezném mindenkinek, hogy a Query-k és az Editbox-ok (Edit1,Edit3,..) "elnevezése" e leírásban csak szimbólikus, nem biztos, hogy mindenkinél így volt/így írta. Én (is) csak a tábláról másoltam.
Azt, hogy mért nincs 3.-as pont azt ne kérdezzétek.
A lényeg, hogy tudjátok, hogy mi miért van és hogy miért kell.
Az általam órán megírt változat:
2.zh gyakfeladat
Trackback: http://dimiona.w2works.com/blog/trackback/zh2-gyakfeladat