Wie bereits schon in einigen Treads erwähnt habe ich eine IBE
DB und eine Oberfläche + einige Units...
ich benötige dieses Mal Hilfe bei der LV Aktualisierung, irgendwie steh ich auf dem Schlauch.
Ich kann mit einem PopupMenu (PMHINZUFÜGEN) ein Stringgrid aufrufen wo ich neue Kunden für die
DB eintrage.
Diese werden auf der
Db abgespeichert. Jedoch sehe ich sie erst wenn ich nochmal auf imgAnzeigen klicke und nicht direkt nach dem Eintrag.
Hier einbisschen Code...
!!!!!!!!!!!!!KUNDE WIRD ANGELEGT!!!!!!!!!!!!!!!!!!
Delphi-Quellcode:
function TDataconnect.getKunden():TKundeList;
var
Kunde : TKunde;
KundeQuery : TIBOQuery;
KundeTransa : TIBOTransaction;
begin
Result:= TKundeList.create();
KundeQuery:= TIBOQuery.Create(
nil);
KundeQuery.SQL.Text:= '
SELECT * FROM KUNDEN ';
KundeQuery.IB_Connection:= FDataBase;
KundeTransa:= TIBOTRansaction.Create(
nil);
KundeTransa.IB_Connection:= FDataBase;
KundeQuery.IB_Transaction:= KundeTransa;
KundeTransa.StartTransaction();
try
KundeQuery.Open();
while not KundeQuery.Eof
do
begin
kunde:= TKunde.Create(KundeQuery.Fieldbyname('
Kunden_ID').asInteger,
KundeQuery.FieldbyName('
Vorname').asString,
KundeQuery.FieldbyName('
nachname').AsString);
Result.addkunde(Kunde);
KundeQuery.Next();
end;
KundeTransa.Commit();
except
on e:
Exception do
begin
ShowMessage(e.
Message);
KundeTransa.Rollback();
end;
end;
end;
!!!!!!!!!!!!!!!!!!!!NEUEN KUNDEN HINZUFÜGEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Delphi-Quellcode:
procedure TStartseite.Hinzufgen1Click(Sender: TObject);
var
Kunde: TKunde;
Buch: TBuch;
Sendung: TSendung;
Autor: TAutor;
begin
Dateneditieren.StrGrAuswahl.Cells[0,0]:='';
Dateneditieren.StrGrAuswahl.Cells[1,0]:='';
Dateneditieren.StrGrAuswahl.Cells[2,0]:='';
if IsPositiveResult(Dateneditieren.ShowModal()) then
begin
Dateneditieren.ShowModal();
case (rgAuswahl.ItemIndex) of
0 : begin
Kunde := TKunde.Create(-1,Dateneditieren.StrGrAuswahl.Cells[1,0],Dateneditieren.strgrauswahl.cells[2,0]);
connect.LegeKundeAn(Kunde);
addKundetoLV(Kunde);
end;
1 : begin
Sendung:= TSendung.Create(-1,Dateneditieren.StrGrAuswahl.Cells[1,0],Dateneditieren.strgrauswahl.cells[2,0]);
connect.LegeSendungAn(Sendung);
end;
2 : begin
Autor:= TAutor.Create(-1,Dateneditieren.StrGrAuswahl.Cells[1,0],Dateneditieren.strgrauswahl.cells[2,0]);
connect.LegeAutorAn(Autor);
end;
3 : begin
Buch:= TBuch.Create(1,StrToInt(Dateneditieren.StrGrAuswahl.Cells[1,0]),Dateneditieren.StrGrAuswahl.Cells[2,0]);
connect.LegeBuchAn(Buch);
end;
else
begin
ShowMessage('Ups, beim Anlegen des Kunden lief etwas schief');
end;
end;
end;
end;
ich dachte mir vllt schreibe ich ne funktion dafür... desshalb : hier ist sie... ist aber irgendwie alles falsch:
Delphi-Quellcode:
function TStartseite.addKundetoLV(AKunde: TKunde): TKundeList;
var
myItemAddKtoLV: TListItem;
all: integer;
kundelist: tkundelist;
begin
connect.LegeKundeAn(Akunde);
lvAuswahl.Column[0].NewInstance();
lvAuswahl.UpdateItems(1,100);
end;
UPDATE,REFRESH,REPAINT.... alles versucht = geht nicht
vielen Dank im Vorraus!
grüße euer,