AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Field Value Required in RAD 2007 Delphi mit MYSQL
Thema durchsuchen
Ansicht
Themen-Optionen

Field Value Required in RAD 2007 Delphi mit MYSQL

Ein Thema von hirsch · begonnen am 27. Mär 2008 · letzter Beitrag vom 8. Apr 2008
Antwort Antwort
hirsch

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

Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 27. Mär 2008, 15:43
Datenbank: MYSQL • Version: 5 • Zugriff über: dbxmys30.dll
Tage lang versuche ich nur ein Integer-Feld (Pickstatus, länge 10, vorbelegt mit 0) zu ändern.
Der Konstrukt ist klar: Datenbank(TSQLConnection) -> SDS(TSQLDataset) -> DSP(TDataSetProvider) -> CDS (TClientDataSet) ->DS(TDataSource) für das Grid.
Es soll so sein, dass wenn im Grid auf ein Datensatz geklickt wird, dessen Feld PickStatus auf 5 (Variable:= loe) verändert werden soll.
Jedoch bekomme ich beim Post immer 'Field Value required'. Ich hab volle Schreib/Leserechte auf die Datenbank.
Der Code:
Delphi-Quellcode:
procedure TPickStatus.GridCellClick(Column: TColumn);
var loe: integer;
begin
loe:=5;
     ID_i:=datamodule1.cds.FieldByName('ID').value;
     with datamodule1.SDS do
     begin
          if Active then Active:=False;
          SQL_str:='select * from Packingstructure where ID= '+IntToStr(ID_i);
          CommandText:=SQL_str;
          Active:=True;

          with DataModule1.CDS do
          begin
            ShowMessage(IntToStr(RecordCount)); //Nur zum Testen
            if Recordcount >= 1 then
            begin
                 Active:=True;
                 Edit;
                 FieldbyName('PickStatus').value:=loe;
                 Post;
                 ApplyUpdates(-1);
            end
            else
            begin
                 ShowMessage('<> 1 Satz Anz: '+IntToStr(RecordCount));
                 exit;
            end;
          end;
     end;

end;
Nun, ich bin ein bloddy beginer, also habt bitte nachsicht mit mir....
Was will mir die Fehlermeldung sagen?
Ich danke für Eure Ideen......
Wolfgang Hirsch
  Mit Zitat antworten Zitat
hirsch

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

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 2. Apr 2008, 07:23
Ohjeeeeeeeee
hat den Niemand eine Idee??
Wolfgang Hirsch
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 2. Apr 2008, 07:32
Statt if Active then Active:=False; kannst du einfach Close; schreiben.
Delphi-Quellcode:
                 Active:=True;
                 Edit;
                 FieldbyName('PickStatus').value:=loe;
                 Post;
                 ApplyUpdates(-1);
ist nicht eindeutig
hier besser ohne with arbeiten und das DataSet mit angeben.
Markus Kinzler
  Mit Zitat antworten Zitat
hirsch

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

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 4. Apr 2008, 10:06
Hallo mkinzler,
vielen Dank für die Idee.
Hab nun alles explizit geschriefen, ohne die with anweisung.
Leider kommt der gleiche Fehler immer noch.
Für den <CLOSE> - Tipp hab ich auch gemacht.
Ich hab ja nun schon viel gegoogelt nach dem Fehler, also er scheint ja oft vorzukommen, nur eine Lösung war keine dabei.

Delphi-Quellcode:
     if Datamodule1.CDS.Recordcount = 1 then
     begin
          Datamodule1.CDS.Edit;
          Datamodule1.CDS.FieldbyName('PickStatus').value:=5;
          Datamodule1.CDS.Post; //<< Field value required kommt hier bei Post
          Datamodule1.CDS.ApplyUpdates(-1);
     end
     else
     begin
          ShowMessage('<> 1 Satz Anz: '+IntToStr(Datamodule1.CDS.RecordCount));
          exit;
     end;
Wolfgang Hirsch
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 4. Apr 2008, 12:12
Für welches Feld kommt "Field value required"?
Vermutlich hast Du in der Tabelle ein Feld definiert, das "Not NULL" (also nicht leer) sein darf.
Diesem Feld musst Du dann natürlich vor dem Post einen Wert zuweisen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
hirsch

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

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 4. Apr 2008, 12:23
Hallo RavenIV,

das Feld PICKSTATUS ist vorhanden und mit einer anderen Zahl als 5 gefüllt, z.b. mit 1 oder 2 oder 3 oder 4.
Ich selektiere anhand der ID den Datensatz und will den Wert 5 reinschreiben was ich ja meiner meinung nach mache mit:
Datamodule1.CDS.FieldbyName('PickStatus').value:=5;
Wolfgang Hirsch
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 4. Apr 2008, 12:28
Mir ist aufgefallen, dass Du einmal mit datamodule1.SDS und dann mit DataModule1.CDS arbeitest.
Ist das so gewollt?

Ausserdem solltest Du Dich entscheiden, ob Du Gross-/Kleinschreibung verwendest oder nicht.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
hirsch

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

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 4. Apr 2008, 12:36
Ok, RavenVI


oben steht der Konstukt:


Datenbank(TSQLConnection) -> SDS(TSQLDataset) -> DSP(TDataSetProvider) -> CDS (TClientDataSet) ->DS(TDataSource) für das Grid.

SDS verbunden auf Datenbank
DSP verbunden auf SDS
CDS verbunden auf DSP
DS verbunden auf CDS

An der GROSS und kleinschreibung übe ich noch, hast schon recht, aber ich glaube der Compiler will das nicht wissen...
Wolfgang Hirsch
  Mit Zitat antworten Zitat
hirsch

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

Re: Field Value Required in RAD 2007 Delphi mit MYSQL

  Alt 8. Apr 2008, 10:47
Ok, ich habs selber rausgefunden.

Der Fehler war, dass in dem Datensatz andere leere Integerfelder gab.
Nun ich dachte wohl nicht daran, dass Delphi immer den ganzen Datensatz schreibt, obwohl ich nur die betreffende Spalte geändert hatte.
Nun, ohne viel probieren wäre ich da nicht drauf gekommen.

Trotzdem allen hier vielen Dank für die Tipps.
Wolfgang Hirsch
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz