Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi '' String in Datenbank einfügen (https://www.delphipraxis.net/96544-string-datenbank-einfuegen.html)

wfs12 26. Jul 2007 11:54

Datenbank: MYSQL • Version: 5.0 • Zugriff über: libmysql.dll

'' String in Datenbank einfügen
 
Guten Tag wenn ich mit
Delphi-Quellcode:
      query:=PChar('INSERT INTO ausgaben(betrageuro,datum,benutzer,verwendung) VALUES ('+QuotedStr(Switchpoint(Stringgrid2.Cells[2,l+1]))+','+QuotedStr(switchdate(Stringgrid2.Cells[1,l+1]))+',012,'+QuotedStr(Stringgrid2.Cells[0,l+1])+')');
ein paar Strings in eine Datenbank einfügen will klappt das alles auch soweit ganz gut, nur wenn ein String leer ist werden keine Daten eingefügt :?: Woran kann das liegen? Kann man das irgendwie umgehen?

mkinzler 26. Jul 2007 11:57

Re: '' String in Datenbank einfügen
 
Ich würde (SQL-)Parameter verwenden. Wie ist das Feld in der Datenbank deklariert?

wfs12 26. Jul 2007 13:26

Re: '' String in Datenbank einfügen
 
Das sind sowohl Float als auch VarChar Felder. Was meinst du mit
[quote="mkinzler"]Ich würde (SQL-)Parameter verwenden[quote] :?:

DeddyH 26. Jul 2007 13:33

Re: '' String in Datenbank einfügen
 
Delphi-Quellcode:
Query.SQL.Text := 'INSERT INTO Tabelle(Feld1,Feld2) VALUES(:wert1,:wert2)';
ParamByName('wert1').AsString := '';
ParamByName('wert2').AsInteger := 1;

wfs12 26. Jul 2007 13:54

Re: '' String in Datenbank einfügen
 
hmm irgendwie kommen bei mir da ganz viele Fehlermeldungen:
Delphi-Quellcode:
[Fehler] serverbanking.pas(484): Record, Objekt oder Klassentyp erforderlich
[Fehler] serverbanking.pas(485): Undefinierter Bezeichner: 'ParamByName'
[Fehler] serverbanking.pas(485): Operator oder Semikolon fehlt
[Fehler] serverbanking.pas(486): Operator oder Semikolon fehlt
[Fehler] serverbanking.pas(487): Operator oder Semikolon fehlt
[Fehler] serverbanking.pas(488): Operator oder Semikolon fehlt
[Fataler Fehler] serverbanking1.dpr(6): Verwendete Unit 'serverbanking.pas' kann nicht compiliert werden
Hab das so eingebaut:
Delphi-Quellcode:
mysql_select_db(_myCon, db);
      Query.SQL.Text := 'INSERT INTO einnahmen(betrageuro,datum,benutzer,verwendung) VALUES(:wert1,:wert2,:wert3,:wert4)';
      ParamByName('wert1').AsString := cuteuro(Switchpoint(Stringgrid1.Cells[2,i+1]));
      ParamByName('wert2').AsInteger :=switchdate(Stringgrid1.Cells[1,i+1]);
      ParamByName('wert3').AsInteger :=012;
      ParamByName('wert4').AsInteger :=Stringgrid1.Cells[0,i+1];
      mysql_real_query(_myCon, query, Length(query));

DeddyH 26. Jul 2007 13:55

Re: '' String in Datenbank einfügen
 
Sorry, mein Fehler. Setz mal den Namen des Queries davor (also Query.ParamByName...)

mkinzler 26. Jul 2007 13:55

Re: '' String in Datenbank einfügen
 
Delphi-Quellcode:
Query.ParamByName('wert1').AsString := '';

wfs12 26. Jul 2007 14:03

Re: '' String in Datenbank einfügen
 
Der Fehler
Delphi-Quellcode:
[Fehler] serverbanking.pas(484): Record, Objekt oder Klassentyp erforderlich
kommt jetzt bei jeder Zeile muss ich da irgendwo vorher noch was einbinden oder so?

mkinzler 26. Jul 2007 14:07

Re: '' String in Datenbank einfügen
 
Du verwendest auch nicht die objektorientierte Abstraktion von delphi sondern eine Umsetzung der nativen Api.

wfs12 26. Jul 2007 14:10

Re: '' String in Datenbank einfügen
 
das heißt für mich so klappt das doch nicht entweder muss ich alles umstellen, oder falls ein String leer ist irgendeine Zeichenkombination da rein schreiben die er beim auslesen wiedererkennt und dann einen leeren Struing ausgibt?


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

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