![]() |
Datenbank: MySql • Version: 4.0.19 • Zugriff über: MySqlDac
Exception bei SQL Befehl ü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:
der von mir als benutzer des programms eingegeben sql befehl sieht so aus:
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;
SQL-Code:
eigentlich ja ganz simpel aber jedes mal kommt ne exception und ich hab keinen plan warum...
Select Feld1 From Datei
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... :wiejetzt: hoffentlich könnt ihr mir weiterhelfen... oder liegt des vielleicht daran das ich ein memo feld nehm??? |
Re: Exception bei SQL Befehl über MySqlDac
Warum setzt Du zusätzlich noch "" um deinen SQL Befehl ?
|
Re: Exception bei SQL Befehl über MySqlDac
*gg* das hab ich mir grad auch gedacht und des weg gemacht ^^
jetzt gehts :lol: 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:
naja aber die beiden " brauch ich ja weil der wert in der where klausel ein alphanummerischer wert is
SQL.Add('Select Feld1, Feld2 '
+ 'From Datei1 ' + 'Where Feld1 = "'+ edit_snr.Text +'" '); oder seh ich des falsch :gruebel: 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; |
Re: Exception bei SQL Befehl über MySqlDac
Zitat:
Delphi-Quellcode:
Da Du mit deiner Methode Probleme kriegst, wenn in deinem Editfeld ' oder " eingegeben werden.
SQL.Add('Select Feld1, Feld2 '
+ 'From Datei1 ' + 'Where Feld1 = '+ QuotedStr(edit_snr.Text) ); 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 ; |
Re: Exception bei SQL Befehl über MySqlDac
danke für denn tipp...
werd ich bei gelegenheit mal ausprobieren, und mein ergebniss posten... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr. |
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-2025 by Thomas Breitkreuz