Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Borland c++ problem

[es] :: C/C++ programiranje :: Borland c++ problem

[ Pregleda: 1801 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Notorious91
Nebojša Bobić
Novi Sad

Član broj: 156014
Poruke: 119
*.ADSL.neobee.net.

Sajt: www.notorious-ns.blogspot..


Profil

icon Borland c++ problem02.06.2010. u 15:36 - pre 168 meseci
Pozdrav,radom maturski iz programiranja.Treba da napravim program za dvd klub
Evo u cemu je problem
Imam jednu formu gde imam 6 edita i stringgrid.
Na dugme unesi podtke iz edita smestam u bazu,to radi.
Na dugme pregled u stringgridu se ispisu podaci iz baze,to radi.
Na dugme izmeni podaci iz stringrida(konkretno iz reda na koji je kliknut) se vrate u tih 6 edita,to radi.
E sad ja hocu da u tim editima izmenim sta mi treba pa da ponovo snimim u bazu al to mi ne uspeva,evo koda

Code:

D->Table1->Open();
    D->Table1->First();
    D->Table1->Edit();

    int j=0;
    while(!D->Table1->Eof)
   {
    if(D->Table1NazivFilma->Value==tksNaziv->Text) // ovako trazim gde hocu da snimim podatke
    {

    D->Table1NazivFilma->Value=tksNazivFilma->Text;
    D->Table1Zanr->Value=tksZanr->Text;
    D->Table1DatumNabavke->Value=tksDatumNabavke->Text;
    D->Table1NabavnaCena->Value=StrToInt(tksNabavnaCena->Text);
    D->Table1BrojKopija->Value=StrToInt(tksBrojKopija->Text);
    D->Table1OpisFilma->Value=tksOpisFilma->Text;
    j++;
    }

     D->Table1->Next();

    }
    D->Table1->Close();

  btnUnos->Visible=True;
btnPregled->Visible=True;
btnKraj->Visible=True;
btnOk->Visible=False;
}

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Borland c++ problem02.06.2010. u 18:39 - pre 168 meseci
Ovako mozes da uradis EDIT nekog polja, na osnovu kriterijuma koju je u Edit1 (netestirano):

Code:

void __fastcall TForm1::Button1Click(TObject *Sender)
{

        ADOTable1->Open();

        ADOTable1->DisableControls();
        for ( ADOTable1->First(); !ADOTable1->Eof; ADOTable1->Next() )
        {
                if ( ADOTable1->FieldByName("POLJE1")->AsString == Edit1->Text )
                {
                        ADOTable1->Edit();
                        ADOTable1->FieldByName("POLJE1")->AsString = "PROMENIS U STA ZELIS";
                        // ...
                        ADOTable1->Post(); // <--- Ovo ne mora, jer Next() interno odradi i Post()
                        // break; // <---Ako zelis da odmah izadjes, skini komentar
                }

        }
        ADOTable1->EnableControls();

        ADOTable1->Close();
}


Nekoliko saveta, mada pretpostavljam da je sada kasno:
* koristi TADOTable umesto TTable
* koristi TDBEdit polja umesto TEdit
* kontrolu (unos, ispravke, brisanje) mozes realizovati sa TDBNavigator
* Pozicioniranje na neko polje mozes uraditi sa Locate ili vratiti vrednosti sa Lookup
* ...


[Ovu poruku je menjao X Files dana 02.06.2010. u 21:23 GMT+1]
 
Odgovor na temu

Notorious91
Nebojša Bobić
Novi Sad

Član broj: 156014
Poruke: 119
*.ADSL.neobee.net.

Sajt: www.notorious-ns.blogspot..


Profil

icon Re: Borland c++ problem02.06.2010. u 19:20 - pre 168 meseci
Nisam siguran da razumem bas
Sta "Otac" i "Polje1" prectavljaju?
 
Odgovor na temu

ik0
Ivan Cekov
Information System Developer
Planning Authority Malta
Floriana, Malta

Član broj: 222385
Poruke: 158
95.180.190.*



+3 Profil

icon Re: Borland c++ problem02.06.2010. u 19:22 - pre 168 meseci
Ako ne bi koristio navigator onda evo ti malo koda

Stavi neki button na kojem pise edit (lupam sada)
Na button click
Code:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (ADOTable1->RecordCount > 0){

Form2->ShowModal();    //uzmi drugi neki form koi ke ti sluzi kao edit
}

else{
 ShowMessage("Nema podatoci vo bazata"); //u slucaju da u bazi nemas podataka
     }
}






na taj drugi form bi trebao da izgleda kao i prvi samo bez Tabele

Code:

void __fastcall TForm3::FormActivate(TObject *Sender)
{
Edit1->Text=Form1->ADOTable1->FieldByName("POLJE u datoteci")->AsString;
Edit2->Text=Form1->ADOTable1->FieldByName("POLJE u datoteci")->AsString;
Edit3->Text=Form1->ADOTable1->FieldByName("POLJE u datoteci")->AsString;
Edit1->SetFocus();
Edit1->SelectAll();

void __fastcall TForm2::Button1Click(TObject *Sender)


if (Edit1->Text!="") {  // validacija

Form1->ADOTable1->Edit();
Form1->ADOTable1->FieldByName("POLJE u datoteci")->AsString=Edit1->Text; // upisujes u kolone
Form1->ADOTable1->FieldByName("POLJE u datoteci")->AsString=Edit2->Text; 
Form1->ADOTable1->FieldByName("POLJE u datoteci")->AsString=Edit3->Text; 
Form1->ADOTable1->FieldByName("POLJE u datoteci")->AsString=Edit4->Text;
Form1->ADOTable1->Post();
    Close();

} else
{ShowMessage("To polje mora biti popunjeno");
Edit20->SetFocus();}

//button za brisanje 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (ADOTable1->RecordCount > 0){
if (MessageDlg("Brisi polje?",mtWarning,TMsgDlgButtons() << mbOK<<mbCancel, 0)== mrOk){
ADOTable1->Delete();  }}
}




Mislim da sam sve napiso ok ako ima greska ili nejasnoca pisi...



[Ovu poruku je menjao ik0 dana 02.06.2010. u 20:32 GMT+1]
Kude tumbe i tri bandere
 
Odgovor na temu

ik0
Ivan Cekov
Information System Developer
Planning Authority Malta
Floriana, Malta

Član broj: 222385
Poruke: 158
95.180.190.*



+3 Profil

icon Re: Borland c++ problem02.06.2010. u 19:30 - pre 168 meseci
Jesi ti kreirao bazu?
Kude tumbe i tri bandere
 
Odgovor na temu

Notorious91
Nebojša Bobić
Novi Sad

Član broj: 156014
Poruke: 119
*.ADSL.neobee.net.

Sajt: www.notorious-ns.blogspot..


Profil

icon Re: Borland c++ problem02.06.2010. u 19:31 - pre 168 meseci
Jesam naravno
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Borland c++ problem02.06.2010. u 20:25 - pre 168 meseci
Citat:
Nisam siguran da razumem bas
Sta "Otac" i "Polje1" prectavljaju?

Popravio sam.

Gornji kod ce proci kroz celu tabelu, i ako pronadje u koloni POLJE1 ono sto pise u Edit1->Text, zamenice sadrzaj u "PROMENIS U STA ZELIS".
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Borland c++ problem02.06.2010. u 20:32 - pre 168 meseci
Mada, nije mi jasno zasto toliko TTable objekata (Table1NazivFilma, Table1Zanr, Table1DatumNabavke, Table1NabavnaCena, Table1BrojKopija, Table1OpisFilma)?

Dovoljan je jedan Table objekat (Table1), tj tabela, a poljima pristupas na osnovu naziva ili rednog broja.

Mozes li to da pojasnis...



 
Odgovor na temu

Notorious91
Nebojša Bobić
Novi Sad

Član broj: 156014
Poruke: 119
*.ADSL.neobee.net.

Sajt: www.notorious-ns.blogspot..


Profil

icon Re: Borland c++ problem02.06.2010. u 20:45 - pre 168 meseci
Tako nas ucili u skoli ;)
Ustvari nisu nas uopste ucili,dali nam neke skripte pa ko se snadje snadje.
Zato mi i nije jasno nista.
Npr kako kada kliknem na neki red u stringgrid on to poveze sa bazom?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Borland c++ problem02.06.2010. u 21:26 - pre 168 meseci
Opet, zasto koristis TStringGrid kada radis sa bazama? Veliki je posao praviti kod koji ce raditi u svim situacijama ispravno, a da pri tome nije predvidjen toj nameni.

Za baze se koristi TDBGrid, on se automatski (preko zajednickog TDataSource) povezuje sa bazom, i sve je sinhronizovano TDBEdit, TDBGrid, TDBNavigator, ... gde god oblelezis, sve kontrole pokazuju bas na obelezeni slog. Ako krenes da nesto menjas, odmah baza ide u Edit mod...

Ovde imas par korisnih tema:
http://www.elitesecurity.org/p1939472
https://www.elitesecurity.org/p910296


 
Odgovor na temu

Notorious91
Nebojša Bobić
Novi Sad

Član broj: 156014
Poruke: 119
*.ADSL.neobee.net.

Sajt: www.notorious-ns.blogspot..


Profil

icon Re: Borland c++ problem02.06.2010. u 21:47 - pre 168 meseci
Hvala XFiles!!
Meni nije jasno kako profesor ne znam ove stvari.

 
Odgovor na temu

[es] :: C/C++ programiranje :: Borland c++ problem

[ Pregleda: 1801 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.