Deutsch
Forum

Firebird embedded/XprofanX2: Fehler beim Anfügen von Datensätzen

 

Tommy
Ich versuche nach gelungenem Connect mit der Firebird embedded Version Datensätze anzufügen und experimentiere an einer Übung aus dem Profanbuch. Wo liegt denn mein Fehler im beigefügten Source? Ich habe dreimal das selbe SQL-Statement an die Datenbank gesendet, das Statement mit den Variablen (:Varname$,..) endet mit der Fehlermeldung -Column does nor belong to referenced table-, während die beiden anderen Statements durchlaufen. Wer kann mir dabei auf die Sprünge helfen?
KompilierenMarkierenSeparieren
 $I firebird.inc
declare Exec$,db&, HST_Name$, HST_Ort$
window 500,500
cls
var fbDLL& = fbUseDLL("fbclient.dll")
' Datenbank erzeugen, falls nicht vorhanden, und Verbindung herstellen

ifnot fileexists("3TSDatabase.fdb")

    db& = fbCreate("SYSDBA", "masterkey", "3TSDatabase.fdb")

else

    db& = fbInit("SYSDBA", "masterkey", "3TSDatabase.fdb")

endif

Set("Errorlevel", -1)
Exec$="DROP TABLE Haltestelle"
fbSQLExec(db&, Exec$, 0)
Set("Errorlevel",0)
Exec$="create table Haltestelle (HST_Name CHAR(40), HST_Ort CHAR(40), XKoord NUMERIC(10,8), YKoord NUMERIC(10,8))"
fbSQLExec(db&, Exec$, 0)
HST_Name$="aus dem Name$-Dummy"
HST_Ort$="aus dem Ort$-Dummy"
'Exec$="INSERT INTO Haltestelle (HST_Name,HST_Ort) VALUES ('slkjlskjlsfkjsf','lkhjljlkjlkj')" 'Statement 1 -OK
'Exec$="INSERT INTO Haltestelle (HST_Name,HST_Ort) VALUES (:HST_Name$,:HST_Ort$)" 'Statement 2 Fehler- Column does nor belong to referenced table
Exec$="INSERT INTO Haltestelle (HST_Name,HST_Ort) VALUES ('"+HST_Name$+"','"+HST_Ort$+"')"'Statement 3 -OK
fbSQLExec(db&, Exec$, 1)
Exec$="SELECT * FROM Haltestelle"
fbSQLExec(db&, Exec$, 1)
Listbox$("Tabelle Haltestelle",2)
fbDone(db&)
fbFreeDll(fbDLL&)
waitinput
end
 
13.01.2014  
 




E.T.
Ohne jetzt mal angestrengt drüber nach zu denken:
Tippe mal auf die Doppelpunkte bei :HST_Name$,:HST_Ort$ .

Mal so probiert ??
KompilierenMarkierenSeparieren
Exec$="INSERT INTO Haltestelle (HST_Name,HST_Ort) VALUES (HST_Name$,HST_Ort$)"
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.01.2014  
 




Tommy
Hab ich alles probiert: Doppelpunkt weglassen : gleiche Fehlermeldung, Anführungszeichen setzen usw.. Leider kein Ergebnis.
Die Vorgabe mit den Doppelpunkten kommt aus dem Buch: Programmieren kinderleicht mit Xprofan, Teil3 : SQL-Datenbanken mit Firebird. Konnte sonst leider keine Quelle entdecken.
Ich kann aber nicht glauben, dass man den String vorab durch Zusammensetzen bilden muss, um die Daten in die Datenbank zu bekommen.....
 
14.01.2014  
 




Tommy
Ist erledigt: Habe es mit Hilfe einer Antwort im Forum von Jörg Sellmeyer gefunden: Lösung siehe Code. Scheint noch ein wenig trickreich mit den vielen Anführungsstrichen.....
KompilierenMarkierenSeparieren
Exec$="INSERT INTO Haltestelle (HST_Name,HST_Ort) VALUES ('" + HST_Name$ + "','" + HST_Ort$ + "')"
 
14.01.2014  
 




E.T.
Da wundert mich aber, das sich Dietmar nicht zu Wort meldet.
Er sollte doch Xprofan - Firebird - Spezialist sein
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
15.01.2014  
 




Tommy
Ich denke ich mach da irgendwas falsch. Die Strings habe ich auf die beschriebene Weise nach Firebird gequetscht, aber numerische Daten lassen sich nur auf nachstehende Weise in die Datenbank laden. Entweder ich gebe die Daten direkt im INSERT-String an oder ich hole sie in eine String-Variable (als Zahl ??) und übergebe sie dann direkt einer numerischen Datenbankvariable. Eine numerische Variable im Insert-String zu übergeben ist nicht möglich. Liegt's an den Anführungszeichen? Ich blick zur Zeit durch die Systematik noch nicht durch.
Gibt's weiterführende Literatur zum Thema?
Da wäre ein Rat der Spezialisten hilfreich.....
KompilierenMarkierenSeparieren
Tabellendefinition:
Exec$="create table Haltestelle (HST_Name CHAR(40), HST_Ort CHAR(40), XKoord FLOAT, YKoord FLOAT)"
VarDef:
HST_KoordX$=23.66666
HST_KoordY$=10.45555
Insertstring:
Exec$="INSERT INTO Haltestelle (HST_Name,HST_Ort,XKoord) VALUES ('" + HST_Name$ + "','" + HST_Ort$ + "',10.45555, 23.66666)"
oder
Exec$="INSERT INTO Haltestelle (HST_Name,HST_Ort,XKoord,YKoord) VALUES ('" + HST_Name$ + "','" + HST_Ort$ + "','" + HST_KoordX$ + "','" + HST_KoordY$ + "')"
 
15.01.2014  
 




E.T.
Vlt. das: [...] 
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
15.01.2014  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

8.051 Betrachtungen

Unbenanntvor 0 min.
Tommy03.11.2019
H.Brill09.02.2017
Deaktiviert04.02.2017
rquindt20.12.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Tommy (4x)
E.T. (3x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie