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

Problem sa jednostavnom bazom (ClientDataset, DataSource i DBGrid)

[es] :: Pascal / Delphi / Kylix :: Problem sa jednostavnom bazom (ClientDataset, DataSource i DBGrid)

[ Pregleda: 157 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 560



+10 Profil

icon Problem sa jednostavnom bazom (ClientDataset, DataSource i DBGrid)03.07.2025. u 18:12 - pre 1 dan i 21h
Na formu sam stavio ClientDataSet, DataSource i DBGrid komponente, i popunio odgovarajuće propertyje. Na formi sam prilkom dizajniranja imao vidljiv DBGrid, koji sam nekako (ne sećam se tačno kako) disableovao.

Ideja mi je bila da se prilikom pokretanja aplikacije i ne pojavljuje DBGrid, već onda kada korisnik klikne na "New" ili na "Open". Uspešno sam rešio to design-time, ali mi sada run-time ne radi. Mora da sam negde nešto pogrešio prilikom dizajniranja forme.

Evo nekoliko kritičnih linija.

Code:

procedure TMainForm.FileNewClick(Sender: TObject);
var
  s: String;
begin
  s := ParamStr(0);
  s := ExtractFilePath(s);
  s := s + 'New.cds';
  cds.FileName := s;
  cds.Insert;
  cds.Fields[0].AsInteger := 10;
  cds.Fields[1].AsString := 'abcd';
  cds.Fields[2].AsInteger := 12;
  cds.Fields[3].AsFloat := 12.12;
  cds.Fields[4].AsFloat := 122.24;
  cds.Active := true;
end;

procedure TMainForm.FileOpenClick(Sender: TObject);
var
  s: String;
begin
  s := ParamStr(0);
  s := ExtractFilePath(s);
  OpenDialog1.InitialDir := s;
  if OpenDialog1.Execute then
    cds.LoadFromFile(OpenDialog1.FileName);
  cds.Active;
end;


BTW, program upisuje u bazu (vidim da baza raste), ali nikako da se vidi DBGrid.
 
Odgovor na temu

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 560



+10 Profil

icon Re: Problem sa jednostavnom bazom (ClientDataset, DataSource i DBGrid)04.07.2025. u 17:10 - pre 22h 28min
Novi i mnogo važniji problem: nikako ne mogu da izmenim podatak u postojećoj bazi. Evo koda:

Code:

procedure TForm1.Button1Click(Sender: TObject);
begin
  cds.Open; { cds je TClientDataSet }
  cds.First;
  while not cds.Eof do
    begin
      cds.Fields[1].AsString := 'upis u bazu'; { * }
      cds.Next;
    end;
  cds.Close;
end;


Pukne kod reda sa zvezdicom, uz run-time poruku "cds: Dataset not in edit or inser mode".

Nešto je siiitno, ali ja na ovu vrućinu ne shvatam šta...

A pokušavao sam na mnooogo načina da otvorim bazu, ali -- jok, uvek pukne kod upisa. S druge strane, čitanje radi savršeno.
 
Odgovor na temu

iculibrk
Bačka Palanka
21400

Član broj: 321321
Poruke: 874



+161 Profil

icon Re: Problem sa jednostavnom bazom (ClientDataset, DataSource i DBGrid)04.07.2025. u 17:45 - pre 21h 54min
Možda pre
Code:
cds.Fields[1].AsString := 'upis u bazu'; { * }
staviti
Code:
cds.Edit
a posle
Code:
cds.Post


Za problem iz prvog posta možda ovako:
Code:
procedure TMainForm.FileNewClick(Sender: TObject);
var
  s: String;
begin
  s := ParamStr(0);
  s := ExtractFilePath(s);
  s := s + 'New.cds';
  cds.FileName := s;
  cds.Insert;
  cds.Fields[0].AsInteger := 10;
  cds.Fields[1].AsString := 'abcd';
  cds.Fields[2].AsInteger := 12;
  cds.Fields[3].AsFloat := 12.12;
  cds.Fields[4].AsFloat := 122.24;
  cds.Active := True;

  DBGrid1.Visible := True;
end;

procedure TMainForm.FileOpenClick(Sender: TObject);
var
  s: String;
begin
  s := ParamStr(0);
  s := ExtractFilePath(s);
  OpenDialog1.InitialDir := s;
  if OpenDialog1.Execute then
  begin
    cds.LoadFromFile(OpenDialog1.FileName);
    cds.Active := True;
    DBGrid1.Visible := True;
  end;
end;


Po meni nedostaje
Code:
DBGrid1.Visible := True;


[Ovu poruku je menjao iculibrk dana 04.07.2025. u 19:10 GMT+1]
 
Odgovor na temu

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 560



+10 Profil

icon Re: Problem sa jednostavnom bazom (ClientDataset, DataSource i DBGrid)04.07.2025. u 21:29 - pre 18h 10min
Bio si u pravu oko oba Mnogo hvala

Izgubio sam sate i sate pokušavajući sam da izguglam rešenje... a pretpostavljao sam da je tako "jevtino"
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem sa jednostavnom bazom (ClientDataset, DataSource i DBGrid)

[ Pregleda: 157 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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