Eine Frage an die es wissen, ich werde noch kirre...
Folgende Anbindung an die Datenbank:
TSQLConnection(mit Namen ConBu)verbunden mit TSQLDataset(Name:SDSBuBs) verbunden mit TDatasetprovider(Name
SPBuPs), verbunden mit TClientDataset(Name :CDSBuPs).
SQLQuery von SDSBuPs: select * from `packingstructure`, die packingstructure ist die Tabelle.
Code:
procedure TLMobilesicherung.schreibe_in_Backup(satz : Longword);
begin
IDOrg:=IntToStr(satz);
if ETabl.Text = 'LMobile_Packingstructure' then
begin
//Letzte ID ermitteln
SQL_Str:='Select * from Packingstructure';
Data.DataModule1.CDSBUPs.Active:=False;
Data.DataModule1.SDSBUPs.Active:=False;
Data.DataModule1.SDSBUPs.CommandText:=sql_str;
Data.DataModule1.SDSBUPs.Active:=True;
Data.DataModule1.CDSBUPs.Active:=True;
//Data.DataModule1.CDSBUPs.Refresh;
data.DataModule1.CDSBUPS.Last;
ID:=Data.DataModule1.CDSBuPS.FieldByName('ID').AsString;
if (ID='') or (ID='0') then ID:='1';
//Leeren Datensatz unten anfügen
SQL_Str:='Select * from Packingstructure';
Data.DataModule1.CDSBUPs.Active:=False;
Data.DataModule1.SDSBUPs.Active:=False;
Data.DataModule1.SDSBUPs.CommandText:=sql_str;
Data.DataModule1.SDSBUPs.Active:=True;
Data.DataModule1.CDSBUPs.Active:=True;
data.DataModule1.CDSBUPS.Last;
Data.DataModule1.CDSBUPS.Edit;
Data.DataModule1.CDSBUPS.Insert; <<hier hab ich statt dessen auch schon Append probiert, ohne Erfolg
Data.DataModule1.CDSBuPS.FieldByName('ID').AsInteger:=(StrToInt(id)+1);
//Daten in letzten leeren Datensatz schreiben
data.DataModule1.CDSBUPs.FieldByName('IDOrg').AsString:=idOrg;
data.DataModule1.CDSBUPs.FieldByName('Firmennummer').AsString:=Firmennummer;
if AuftragsNr='' then AuftragsNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('AuftragsNr').AsString:=AuftragsNr;
if AuftragsPosNr='' then AuftragsPosNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('AuftragsPosNr').AsString:=AuftragsPosNr;
if KommissionierscheinNr='' then KommissionierscheinNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('KommissionierscheinNr').AsString:=KommissionierscheinNr;
if KommissionPos='' then KommissionPos:=' '
else data.DataModule1.CDSBUPs.FieldByName('KommissionPos').AsString:=KommissionPos;
if LieferscheinNr='' then LieferscheinNr:='0'
else data.DataModule1.CDSBUPs.FieldByName('LieferscheinNr').AsString:=LieferscheinNr;
if LieferscheinPos='' then LieferscheinPos:='0'
else data.DataModule1.CDSBUPs.FieldByName('LieferscheinPos').AsString:=LieferscheinPos;
if PacklistenNr='' then PacklistenNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('PacklistenNr').AsString:=PacklistenNr;
if SendungsNr='' then SendungsNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('SendungsNr').AsString:=SendungsNr;
if PackstueckNr='' then PackstueckNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('PackstueckNr').AsString:=PackstueckNr;
if VPackstueckNr='' then VPackstueckNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('VPackstueckNr').AsString:=VPackstueckNr;
if ArtikelNr='' then ArtikelNr:=' '
else data.DataModule1.CDSBUPs.FieldByName('ArtikelNr').AsString:=ArtikelNr;
if Charge='' then Charge:=' '
else data.DataModule1.CDSBUPs.FieldByName('Charge').AsString:=Charge;
if Menge='' then Menge:=' '
else data.DataModule1.CDSBUPs.FieldByName('Menge').AsString:=Menge;
if BruttoGewicht='' then BruttoGewicht:=' '
else data.DataModule1.CDSBUPs.FieldByName('BruttoGewicht').AsString:=BruttoGewicht;
if NettoGewicht='' then NettoGewicht:=' '
else data.DataModule1.CDSBUPs.FieldByName('NettoGewicht').AsString:=NettoGewicht;
if Referenzgewicht='' then Referenzgewicht:=' '
else data.DataModule1.CDSBUPs.FieldByName('Referenzgewicht').AsString:=Referenzgewicht;
if Referenzstueckzahl='' then Referenzstueckzahl:=' '
else data.DataModule1.CDSBUPs.FieldByName('Referenzstueckzahl').AsString:=Referenzstueckzahl;
if Level='' then Level:=' '
else data.DataModule1.CDSBUPs.FieldByName('Level').AsString:=Level;
if FreightCost='' then FreightCost:=' '
else data.DataModule1.CDSBUPs.FieldByName('FreightCost').AsString:=FreightCost;
if ShippingCost='' then ShippingCost:=' '
else data.DataModule1.CDSBUPs.FieldByName('ShippingCost').AsString:=ShippingCost;
if Status='' then Status:=' '
else data.DataModule1.CDSBUPs.FieldByName('Status').AsString:=Status;
if CreateUser='' then CreateUser:=' '
else data.DataModule1.CDSBUPs.FieldByName('CreateUser').AsString:=CreateUser;
if CreateDate='' then CreateDate:=' '
else data.DataModule1.CDSBUPs.FieldByName('CreateDate').AsString:=CreateDate;
if PickStatus='' then PickStatus:=' '
else data.DataModule1.CDSBUPs.FieldByName('PickStatus').AsString:=PickStatus;
if CustomerNo='' then CustomerNo:=' '
else data.DataModule1.CDSBUPs.FieldByName('CustomerNo').AsString:=CustomerNo;
if PosCount='' then PosCount:=' '
else data.DataModule1.CDSBUPs.FieldByName('PosCount').AsString:=PosCount;
if DeliveredQty='' then DeliveredQty:=' '
else data.DataModule1.CDSBUPs.FieldByName('DeliveredQty').AsString:=DeliveredQty;
if CustomerName='' then CustomerName:=' '
else data.DataModule1.CDSBUPs.FieldByName('CustomerName').AsString:=CustomerName;
if CustomerAddress1='' then CustomerAddress1:=' '
else data.DataModule1.CDSBUPs.FieldByName('CustomerAddress1').AsString:=CustomerAddress1;
if Lieferbezeichnung='' then Lieferbezeichnung:=' '
else data.DataModule1.CDSBUPs.FieldByName('Lieferbezeichnung').AsString:=Lieferbezeichnung;
if SachNrKunde='' then SachNrKunde:=' '
else data.DataModule1.CDSBUPs.FieldByName('SachNrKunde').AsString:=SachNrKunde;
if Abladestelle='' then Abladestelle:=' '
else data.DataModule1.CDSBUPs.FieldByName('Abladestelle').AsString:=Abladestelle;
if SachNrKdPackm='' then SachNrKdPackm:=' '
else data.DataModule1.CDSBUPs.FieldByName('SachNrKdPackm').AsString:=SachNrKdPackm;
if Aenderungskonst='' then Aenderungskonst:=' '
else data.DataModule1.CDSBUPs.FieldByName('Aenderungskonst').AsString:=Aenderungskonst;
if Versandart='' then Versandart:=' '
else data.DataModule1.CDSBUPs.FieldByName('Versandart').AsString:=Versandart;
if CustomerAddress2='' then CustomerAddress2:=' '
else data.DataModule1.CDSBUPs.FieldByName('CustomerAddress2').AsString:=CustomerAddress2;
if Country='' then Country:=' '
else data.DataModule1.CDSBUPs.FieldByName('Country').AsString:=Country;
if LocationNo='' then LocationNo:=' '
else data.DataModule1.CDSBUPs.FieldByName('LocationNo').AsString:=LocationNo;
if BatchQuantity='' then BatchQuantity:=' '
else data.DataModule1.CDSBUPs.FieldByName('BatchQuantity').AsString:=BatchQuantity;
if DelivererNo='' then DelivererNo:=' '
else data.DataModule1.CDSBUPs.FieldByName('DelivererNo').AsString:=DelivererNo;
Data.DataModule1.CDSBUPS.Post;
//Data.DataModule1.CDSBuPS.ApplyUpdates(-1);
showmessage(ID);
end;
end;
Ich habe das hier mal mit Append und Post gemacht. Versuchsweise mit Insert und ApplyUpdates(-1).
Immer und wirklich immer sagt er mir, dass der Wert LieferscheinPos nicht leer sein darf.
Meiner Meinung nach ist der auch nicht leer, sondern ' '. Sonst hätte ich ja nicht die ganzen if-Abfragen gemacht.
Jedes vorkommende Feld hat minimal ein ' '-Zeichen.
Was mache ich hier die ganze Zeit falsch?
Vielen Dank für jede Hilfe.