![]() |
Datenbank: MySql • Version: 5.6.24 • Zugriff über: SQLDataSet
SQLDataSet
Habe Windows 7 und Delphi XE5
Habe ein Programm mit unter anderen ein SQLDataSet mit dem ich auf eine MySQL Datenbank zugreife (nur Insert, Update und Delete). Habe ein Programm: ...... Form1.SQLDataSet1.CommandText:='INSERT INTO ware (Ware, Warengruppe, Mengeneinheit, Menge, MWST, Preis, Aus) values ('''+wa5+''', '''+wg5+''', '''+me5+''', '''+f1+''', '''+f2+''', '''+f3+''', '''+wk5+''')'; h1:=Form1.SQLDataSet1.ExecSQL(False); ....... Form1.SQLDataSet1.CommandText:='INSERT INTO finanzamt (Tabelle, Zeit, Art, PNR, Feld1, Feld2, Feld3, Feld4, Feld5, Feld6, Feld7, Feld8, Feld9, Feld10, Feld11, Feld12, Feld13, Feld14, Feld15, Feld16, Feld17) values ('''+'Ware'+''', '''+fiz+''', '''+'1'+''', '''+IntToStr(pnr)+''', '''+wa5+''', '''+wg5+''', '''+me5+''', '''+f1+''', '''+f2+''', '''+f3+''', '''+wk5+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''')'; h1:=Form1.SQLDataSet1.ExecSQL(False); ........ Wenn ich das Programm compeliere erschein vor jdem Befehl vorne links ein Punktt in der IDE (wie Haltepunkte). Dummerweise fehlen die Punkte vor dem ersten h1:=Form1.SQLDataSet1.ExecSQL(False); bis zum Befehl Form1.SQLDataSet1.CommandText:='INSERT INTO finanzamt (Tabelle, Zeit, Art, PNR, Feld1, Feld2, Feld3, Feld4, Feld5, Feld6, Feld7, Feld8, Feld9, Feld10, Feld11, Feld12, Feld13, Feld14, Feld15, Feld16, Feld17) values ('''+'Ware'+''', '''+fiz+''', '''+'1'+''', '''+IntToStr(pnr)+''', '''+wa5+''', '''+wg5+''', '''+me5+''', '''+f1+''', '''+f2+''', '''+f3+''', '''+wk5+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''', '''+''+''')'; und natürlich führt das Programm die Befehle (ohne Punkt) auch nicht aus. Ich verstehe nicht warum. Kann da jemand helfen? Danke und Gruß Jürgen |
AW: SQLDataSet
Versuchs mal mit parametrisierten Statements. Bei der Unmenge von ' fehlt ja vollkommen der Durchblick, was da wie zusammengehören soll.
Ungefähr so:
Delphi-Quellcode:
Form1.SQLDataSet1.SQL.Clear;
Form1.SQLDataSet1.SQL.Add('INSERT INTO ware (Ware, Warengruppe, Mengeneinheit, Menge, MWST, Preis, Aus) '); Form1.SQLDataSet1.SQL.Add('values (:wa5,:wg5,:me5,:f1,:f2,:f3,:wk5)'); Form1.SQLDataSet1.Params.ParamByName('wa5').Value := wa5; Form1.SQLDataSet1.Params.ParamByName('wg5').Value := wg5; Form1.SQLDataSet1.Params.ParamByName('me5').Value := me5; Form1.SQLDataSet1.Params.ParamByName('f1').Value := f1; Form1.SQLDataSet1.Params.ParamByName('f2').Value := f2; Form1.SQLDataSet1.Params.ParamByName('f3').Value := f3; Form1.SQLDataSet1.Params.ParamByName('wk5').Value := wk5; h1 := Form1.SQLDataSet1.ExecSQL(False); |
AW: SQLDataSet
Der Compiler sagt: SQLDataSet1.SQL (SQL kennt er nicht).
Komponenete ist aus DBExpress |
AW: SQLDataSet
SQL = CommandText ?
Kennt sie wenigstens .Params oder etwas Dergleichen? Und da jemand nur Bruchteile seines Quellcodes zeigt, anstatt einen größeren Ausschnitt, wie der betreffende Code und ein bissl drumrum wirklich aussieht ... da habe ich keine Lust sinnlos meine Glaskugel rauszukramen. |
AW: SQLDataSet
Suchmaschinen findet:
![]() Dort ab:
SQL-Code:
INSERT INTO Tabelle (Spalte1, SpalteN) VALUES (:Spalte1, :SpalteN)
|
AW: SQLDataSet
Unter Umständen bringt Dich
Delphi-Quellcode:
weiter?
.CommandText
Gruß K-H P.S. @Himitsu Pardon habe Deinen letzten Post nicht richtig gelesen (wenn ich mich nicht irre wäre es sowieso
Delphi-Quellcode:
gewesen)
.SQL.Text
|
AW: SQLDataSet
Im Eingangspost werden aber doch Probleme damit beschrieben ;-)
Das Hauptproblem ist das Zusammensetzen der Statements mit Unmengen von ' und +, mit der Nutzung von Paramtern dürfte das Ganze deutlich übersichtlicher werden und wenn man die (laut Doku dafür vorgesehene) Komponente TSQLQuery nutzt, wird es deutlich einfacher. ![]() ![]() |
AW: SQLDataSet
vergesst es , es ist zu spät.
|
AW: SQLDataSet
Hallo,
ich würde das erst mal etwas auseinandernehmen
Delphi-Quellcode:
var
sSQL: String; begin sSQL:= 'Insert Into' .. Form1.SQLDataSet1.CommandText:= sSQL; end; |
AW: SQLDataSet
Zitat:
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 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