Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBctrlGrid (https://www.delphipraxis.net/4906-dbctrlgrid.html)

Hansa 23. Jun 2003 13:34

Ich verwende jetzt eine Zusatztabelle als DataSource, in der alles notwendige drin ist. Es gibt 2 DBEdits, aber wo mache ich jetzt das append und post genau hin? Es kommt immer irgendwann "DataSet not in Edit / Insert - Mode"

MrSpock 23. Jun 2003 22:55

Hallo Hansa,

wie bereits erwähnt, solltest du eine Navigator Komponente hinzufügen, die mit derselben DataSource verbunden ist. Dort kann der Benutzer den Schalter "Datensatz hinzufügen" betätigen, dann wird die Datenmenge automatisch in den Insert Mode gesetzt.

Alternativ fügst du einen normalen Schalter ins Formular und beschriftest ihn z.B. mit "Neu". Dem OnClick Event fügst du dann die Zeile:

Delphi-Quellcode:
myTable.Append;
zu, wobei myTable deine neue Tabelle ist. Dann benötigst du noch einen Schalter "Datensatz übernehmen", der einfach nur

Delphi-Quellcode:
myTable.Post;
durchführt. (Oder wie gesagt DBNavigator :mrgreen: )

traudl 6. Jan 2006 01:24

Re: DBctrlGrid
 
Hallo DPler, ich habe ein ähliches Problem, ich habe ein Append am Anfang eingefügt dann die anweisung, abr ich bekomme einen Exception Fehler

Delphi-Quellcode:
procedure TMainFrm.btnInsertClick(Sender: TObject);
var DataSet:TdataSet;
begin
      if dlgOpen.Execute then begin
        if not SameText(ExtractFileExt(dlgOpen.FileName), '.jpg') then
          raise Exception.Create('Falsches Dateiformat!' +#13#10+ 'Nur JPG erlaubt');
        TblKunden.Append;
        TblKunden.FieldByName('KdBldName').AsString := ExtractFileName(dlgOpen.FileName);
        TBlobField(DataSet.FieldByName('KdBild')).LoadFromFile(dlgOpen.FileName);
        TblKunden.Post;
        grdKd.SetFocus;
      end;
end;
Bei dem TBlobField kommt der Exception Fehler. Hat jemand eine Idee?

Danke Gruß Udo

MPirnstill 6. Jan 2006 07:49

Re: DBctrlGrid
 
Hi Leute! :hi:

Ich hatte desöfteren bereits das gleiche Problem. Nämlich mehrere Tabelle in einem DBCtrlGrid anzeigen zu wollen, und habe mir immer irgendwie einen Behelf zusammen gebastelt. Mal habe ich es nur zur Anzeige wendet und die Eingaben dann irgendwie anders realisiert, und mal habe ich versucht mehrere DBCtrlGrid zu verwenden und diese zu synchronisieren.

Aber Hansa hat mich damit, eine Tabelle die alle Daten die im Grid verfügbar sein sollen enthält, und dann im Anschluß irgendwie wieder auf die eigentlichen Tabellen verteilen, auf eine Idee :idea: gebracht.

Ginge das, daß man einen View auf den verschiedenen Tabellen erzeugt, der dann automatisch die Daten auf die verschiedenen Tabellen verteilt. Durch den View hätte man doch dann eine einzige DataSource für das DBCtrlGrid.

Leider habe ich bis jetzt noch nie praktisch mit Views gearbeitet. Man kann doch darüber auch updaten, oder nicht? :?:
Das wäre jetzt wohl der Knackpunkt bei der Frage. :gruebel:

Gruß

mschaefer 6. Jan 2006 09:29

Re: DBctrlGrid
 
Moin, zusammen,

Hansa hat den Thread etwas vor 3 Jahren eröffnet sodass dieses Problem wohl schon irgendwie gehandhabt wurde. Das Grundproblem ist letztlich wohl nicht das DBGrid, sondern, dass aus mehrfachtabellierten SQL-Statements viele DataSet-Komponenten nur Lesezugiff zulassen. Das gilt auch heute noch. Der Weg wäre auch heute das DBGrid nur zur Anzeig zu nutzen und durch anklicken eine Eingabeseite auf einem Form mit mehreren DaTasets (Query/Table) aufzurufen, also eine extra Eingabemaske zu bauen.

Grüße // Martin



PS: Das obige Bild in Blob-Problem ist ein anderes Thema/Thread und da gib es in der DP Beispiele, also Suche: "Bild Blob laden".


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz