Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mysql Insert Fehler (https://www.delphipraxis.net/40342-mysql-insert-fehler.html)

BorlanDelphiUser 22. Feb 2005 16:27

Re: Mysql Insert Fehler
 
Zitat:

Zitat von lume96
Zitat:

Zitat von BorlanDelphiUser
so ich hab das ganze auf den Syntax ...
SQL-Code:
INSERT INTO table(field1,field2) VALUES();
... geändert. hat nicht gebracht es liegt eindeutig an den vorkommenden ' Zeichen.
Es muss doch dafür eine Lösung geben ...

Wie jetzt, hast Du es mal so probiert :
SQL-Code:
ZQuery1.Params.Clear;
  ZQuery1.SQL.Text := 'INSERT INTO Code_Schnipsel(Code) VALUES(:phpc)';
  ZQuery1.Params.CreateParam(ftString,'phpc',ptInput);
  ZQuery1.ParamByName('phpc').AsString := Memo1.Text;

  ZQuery1.ExecSQL;
Ich hab das mal eben schnell getestet und habe kein Problem mit :
Code:
<?
  echo 'Irgendwas';
?>
im Memo.

Zugegeben, ich hab's mit einer Firebird DB getestet; habe hier keine MySQL zum Test.

Eigentlich sollte das aber nichts zur Sache tun.

Tschüss,
Lutz

Nein hab ich nicht getestet .. werd ich aber gleich mal tun denn ... das von alcaeus hat zwar funktioniert .. aber auch nur bei Einträgen wo nicht mehr als 2 ' Zeichen aufeinander folgen. Ansonsten kommt es wieder zum selben Fehler.
Schade zu früh gefreut. Ich teste jetzt mal deine Variante.

Masterof 22. Feb 2005 16:32

Re: Mysql Insert Fehler
 
Hallo!!

Dann lösche doch alle unwichtigen Zeichen, und lass nur noch die für die Datenbanken relevanten Zeichen stehen.
Ich denke das sollte funktionieren.
Du kannst ja mal den Quelltext der Prozedur posten, dann sieht man dein Problem besser

MfG Master

Schuster 22. Feb 2005 16:44

Re: Mysql Insert Fehler
 
Wie schon vorher erwähnt worden ist solltest du mal QuotedStr :thumb: verwenden.

Delphi-Quellcode:
with ZQuery1 do
begin
     sql.Clear;
     sql.Add('Insert into Table (Feld1,Feld2,) Values ('+
              QuotedStr(Wert1)+','+
              QuotedStr(Wert2)+ ')');
     ExecSQL;
end;
Dadurch kannst du Sonderzeichen wie ' " usw verwenden. :-D

BorlanDelphiUser 22. Feb 2005 16:54

Re: Mysql Insert Fehler
 
@alcaeus ... ich hatte nur die erste Variante getestet .. das die Zeiter das selbe macht hast du doch geschrieben ;)

@lume96 ... super das hat jetzt wirklich funktioniert kann eingaben was ich will er Trägt alles ohne zu meckern in die Datenbank ein. DANKE

@Schuster ... wie ich schon vorher erwähnt habe, habe ich das auch schon Probiert ... das hat mir nur noch mehr ' Zeichen eingebaut (logisch) ... konnte das also fürs SQL Query nicht gebrauchen ... aber ich kann das sicher mal wann anders gebrauchen.

BorlanDelphiUser 22. Feb 2005 17:08

Re: Mysql Insert Fehler
 
So jetzt hab ich noch eine Frage ... wie muss das ganze beim UPDATE aussehen? der hat mir das ganze nicht richtig eingefügt also es steht jetzt :titel drin

Delphi-Quellcode:
   Form1.q_for_tipp.SQL.Text := 'UPDATE code_schnipsel SET titel='':titel'' WHERE id='12' ';

Masterof 22. Feb 2005 17:14

Re: Mysql Insert Fehler
 
Hallo!!

Da du schreist :Titel in HK, also gibst du also gibst du :titel in die Datenbank, da es nicht als Variable verwendet wird.
Versuche es mal so.
Delphi-Quellcode:
Form1.q_for_tipp.SQL.Text := 'UPDATE code_schnipsel SET titel=':titel' WHERE id='12' ';
MfG Master

Schuster 22. Feb 2005 17:19

Re: Mysql Insert Fehler
 
Update:

Delphi-Quellcode:
with DataModule1.ZQuery_Sonst do
begin
    sql.Clear;
    sql.Add('Update Tabelle Set '+
                 'Feld1 =' +QuotedStr(Edt_Sch_anlegen_SchNr.Text)+ ','+
                 'Feld2 = '+ QuotedStr(Cmb_Sch_anlegen_Sparte.Text) +                 
                 'where SchadennrIntern = ''' + Wert +''';');
     ExecSQL;
end;

BorlanDelphiUser 22. Feb 2005 17:21

Re: Mysql Insert Fehler
 
:wall: ... ja jetzt wo ich das sehe ist es mit auch klar ... man oh man soviele Probleme hatte ich noch nie mit HK. Na dann sollte es ja etzt funktionieren .. dnke ich mal

nochmals DANKE!

BorlanDelphiUser 22. Feb 2005 17:28

Re: Mysql Insert Fehler
 
tja also wenn ich die HK weglasse dann kommt folgendes

[Fehler] Unit3.pas(85): ':=' erwartet, aber ':' gefunden

.. ich werd mal was anderes probieren vielleicht funktioniert das

lume96 22. Feb 2005 17:36

Re: Mysql Insert Fehler
 
SQL-Code:
ZQuery1.Params.Clear;
  ZQuery1.SQL.Text := 'UPDATE Code_Schnipsel SET Titel=:titel where ID=:id';
  ZQuery1.Params.CreateParam(ftString,'titel',ptInput);
  ZQuery1.Params.CreateParam(ftInteger,'id',ptInput);
  ZQuery1.ParamByName('titel').AsString := TitelEdit.Text;
  ZQuery1.ParamByName('id').AsInteger := 12;
  ZQuery1.ExecSQL;
Auch hier wieder mit Params falls Du Steuerzeichen im Titel hast.

(Bin davon ausgegangen, dass Deine ID ein Integer ist.

Im Prinzip kannst Du alles mit Params machen. Dann musst Du Dir bezüglich des Inhalts keine Fragen stellen.

Tschüss,
Lutz


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz