AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Exception bei SQL Befehl über MySqlDac
Thema durchsuchen
Ansicht
Themen-Optionen

Exception bei SQL Befehl über MySqlDac

Ein Thema von Andidreas · begonnen am 9. Mär 2006 · letzter Beitrag vom 14. Mär 2006
Antwort Antwort
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Exception bei SQL Befehl über MySqlDac

  Alt 9. Mär 2006, 13:40
Datenbank: MySql • Version: 4.0.19 • Zugriff über: MySqlDac
hi,

ich hab grad ein kleines problem, vielleicht kann mir ja hier jemand weiter helfen...

ich mach gerade meine 2 applikation in delphi, diese soll folgende funktion haben,

der benutzer gibt einen sql befehl in ein memo feld ein, und über diesen sql befehl soll anschließend auf meine mysql db zugegriffen werden und daten für den aufruf des list & label generators ermittelt werden..

der sql befehl im programm sieht wie folgt aus:

Delphi-Quellcode:
 Try
  With (dbm.VariableQuery) Do
  Begin
      Active := False;
      SQL.Clear;
      SQL.Add('"'+ Memo1.Text +'"');
      Active := True;
  End;
  Except
      MessageDlg('Exception in Define Variables SQL Command!' +#13
                +'Please Check the SQL Command!', mtwarning, [mbok],0);
  End;
der von mir als benutzer des programms eingegeben sql befehl sieht so aus:

Select Feld1 From Datei eigentlich ja ganz simpel aber jedes mal kommt ne exception und ich hab keinen plan warum...

in meiner 1. Anwendung, hab ich schon mal sowas ähnliches gemacht, denn da hab ich bei der where bedingung, ein edit feld für die wert angabe genommen, und des geht auch...
aber warum das hier net geht... keine ahnung...



hoffentlich könnt ihr mir weiterhelfen...

oder liegt des vielleicht daran das ich ein memo feld nehm???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Exception bei SQL Befehl über MySqlDac

  Alt 9. Mär 2006, 13:47
Warum setzt Du zusätzlich noch "" um deinen SQL Befehl ?
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Exception bei SQL Befehl über MySqlDac

  Alt 9. Mär 2006, 13:55
*gg* das hab ich mir grad auch gedacht und des weg gemacht ^^
jetzt gehts


aber zur erklärung warum ich das gemacht hab... denkfehler meinerseits und wahrscheinlich anfänger dummheit...

der sql befehl von meiner 1. programm sieht ungefähr so aus...

Delphi-Quellcode:
SQL.Add('Select Feld1, Feld2 '
  + 'From Datei1 '
  + 'Where Feld1 = "'+ edit_snr.Text +'" ');
naja aber die beiden " brauch ich ja weil der wert in der where klausel ein alphanummerischer wert is
oder seh ich des falsch



naja aber in meinem jetztigen programm funkts so...:

Delphi-Quellcode:
 Try
  With (dbm.VariableQuery) Do
  Begin
      Active := False;
      SQL.Clear;
      SQL.Add(Memo1.Text);
      Active := True;
  End;
  Except
      MessageDlg('Exception in Define Variables SQL Command!' +#13
                +'Please Check the SQL Command!', mtwarning, [mbok],0);
  End;
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Exception bei SQL Befehl über MySqlDac

  Alt 9. Mär 2006, 14:37
Zitat von Andidreas:
Delphi-Quellcode:
SQL.Add('Select Feld1, Feld2 '
  + 'From Datei1 '
  + 'Where Feld1 = "'+ edit_snr.Text +'" ');
Nutze lieber:
Delphi-Quellcode:
SQL.Add('Select Feld1, Feld2 '
  + 'From Datei1 '
  + 'Where Feld1 = '+ QuotedStr(edit_snr.Text) );
Da Du mit deiner Methode Probleme kriegst, wenn in deinem Editfeld ' oder " eingegeben werden.
Ausserdem ist bei SQL Standard, die Strings in einfache Quotes zu setzen (') anstatt in doppelte (").

Noch besser ist sogar die Verwendung von Parametern in deiner Abfrage.

Delphi-Quellcode:
SQL.Add('Select Feld1, Feld2 '
  + 'From Datei1 '
  + 'Where Feld1 = :SNR');
Parameters.ParamByName('SNR').Value := edit_snr.text ;
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: Exception bei SQL Befehl über MySqlDac

  Alt 14. Mär 2006, 07:40
danke für denn tipp...


werd ich bei gelegenheit mal ausprobieren, und mein ergebniss posten...
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  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 13:52 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