Einzelnen Beitrag anzeigen

hirsch

Registriert seit: 29. Jan 2008
Ort: Tuttlingen
88 Beiträge
 
Delphi 2007 Professional
 
#1

MySQL-insert/append post/applyupdates(-1)

  Alt 15. Jul 2008, 14:56
Datenbank: MySQL • Version: 5 • Zugriff über: DBX
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(NameSPBuPs), 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.
Wolfgang Hirsch
  Mit Zitat antworten Zitat