0
Írta , 2010. Április 30., Péntek - 22:03 a(z) Programozás 2 kategóriában.
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


Bookmark and Share Trackback: http://dimiona.w2works.com/blog/trackback/zh2-gyakfeladat

0 hozzászólás itt: "2.zh gyakfeladat"