Entwickler-Ecke
Datenbanken - Insert mit Query will nicht!
Funky Fuzzy - Do 04.11.04 10:20
Titel: Insert mit Query will nicht!
Halli Hallo!! :D
Ich habe da ein kleines Problem mit dem Insert in eine SQL Tabelle.
Hier erst mal der Auszug aus dem Delphi:
Delphi-Quelltext
1: 2: 3: 4: 5:
| OraQuery1.Active := False; OraQuery1.SQL.Clear; sqlstring := 'insert into ansprechpartner a (anrede,vorname,name,telefonnr,email,gruppe,gruppen_id) VALUES ('''+AnreBox.Text+''','''+VnamEdit.Text+''','''+NamEdit.Text+''','''+TelnrEdit.Text+''','''+EmaEdit.Text+''','''+GrupBox.Text+''',(select '+sqlinsert+' from '+GrupBox.Text+' where '+NumDBEdit.DataField+' = '+NumEdit.Text+'))'; OraQuery1.SQL.Add(sqlstring); OraQuery1.Active := True; |
Das einzige nennenswerte ist noch ein Trigger, der eine automatisch generierte ID vergibt.
Leider bekomme ich aber beim Ausführen dieses Skripts immer die Fehlermeldung "SQL statement doesn´t return rows". Vielleicht kann mir mal jemand einen Tip geben. :wink:
Danke schon mal
Fuzzy
jaevencooler - Do 04.11.04 11:13
Moin, Moin, 8)
also grundsätzlich sollte man bei SQL - Statements mit Parametern arbeiten. Das hat den Vorteil das immer wieder benutzte Parameter von der SGA nit mehr geparst werden müssen, ausserdem hilft es der ÜBERSICHT... :wink:
So sollte Dein Statement funktionieren
Version 1)
insert into ansprechpartner
(anrede,vorname,name,telefonnr,email,gruppe,gruppen_id)
VALUES (':Anrede,:Vname,:Name,:Telnr,:Email,:Gruppe,:gruppenid')
Werte zuweisen mit
query.parambyname('anrede').asstring := 'Herr'
usw
Version 2:
insert into ansprechpartner
(anrede,vorname,name,telefonnr,email,gruppe,gruppen_id)
select :Anrede,:Vname,:Name,:Telnr,:Email,:Gruppe,gruppenid from <<Datenquelle>>
where bedingung = bedingung
Werte zuweisen mit
query.parambyname('anrede').asstring := 'Herr'
usw
Beste Grüße
Michael
jasocul - Do 04.11.04 11:23
nicht query1.active = true
sondern
query1.execsql
Funky Fuzzy - Do 04.11.04 12:42
Danke für die Antworten. :D
Der Tip von Jasocul "query1.execsql" hat funktioniert. :!:
Also nochmals vielen Dank und nen schönen Tag noch.
Fuzzy
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!