SQL-Syntax in Filemaker

Importieren, Exportieren, ODBC und JDBC
Forumsregeln
Sie befinden sich im Archivforum! Sie können hier alte Beiträge lesen und vorhandene Diksussionen ergänzen.
Neue Diskussionen können Sie in diesem Archiv nicht erstellen!

SQL-Syntax in Filemaker

Beitragvon Anonymous » Di 4. Mär 2003, 22:02

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Hallo liebe Leute,

Ich habe mal eine Frage bezüglich der Verbindung Filemaker zu einer MYSQL-Datenbank :

Import funktioniert/dateverbindung klappt - Treiber ist der aktuelle MYSQL-Treiber von MYSQL.com


Ich möchte per Scriptmaker Datensätze in der SQL-DB mit denen in meinem FM abgleichen, also UPDATE.

Mein Problem dabei ist die Syntax, welche ich in dem Dialog SQL-senden eingeben muss. Wenn ich dort feste Werte (in der vorgegebenen Schreibweise - laut FM-Hilfe) eingebe funktioniert das alles einwandfrei. Nun möchte ich aber das ganze dynamisch halten, also die Feldnamen in meinem FM-Dokument in die Syntax übernehmen. Da bin ich jetzt völlig am verzweifeln: Verwende ich " oder ` oder ' ? Leider ist speziell der UPDATE Befehl in der Hilfe nicht klar erläutert :-( Kann mir jemand bei der Syntax behilflich sein?

Beispiel in der SQL-Syntax des Dialoges (Scriptmaker):

UPDATE meineTabelle Mitarbeiter = [FM-Feld-Mitarbeiter] WHERE id = [FM-Feld-Mitarbeiter-ID]

(natürlich sind die Klammern hier nur ein Beispiel und ich verwende Sie nicht wirklich - nur zu veranschaulichung, was gemeint ist) :-)

Vielen Dank - LOUIE
Anonymous
 

Antwort

Beitragvon JTeich » Di 4. Mär 2003, 22:36

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Der UPDATE-Befehl hat die Syntax :

UPDATE tabelle SET feldname=Wert WHERE Bedingung

Daraus wird in FM z.B.

"UPDATE meineTabelle SET Mitarbeiter = '" & FM-Feld-Mitarbeiter &"' WHERE id = '"& FM-Feld-Mitarbeiter-ID &"'"

Ein bischen unübersichtlich ist es, da im Ergebnis ja single-quotes stehen sollen um Strings zu kennzeichnen

... Mitarbeiter='Meier' ...

Die single-quotes müssen daher innerhalb der double-quotes auftauchen, die die FM-Strings begrenzen.

Jens
-------------------------
dr. jens teich
filemaker 7+8 certified developer
filemaker authorized trainer
http://jensteich.de
http://fmfaq.de
-------------------------
JTeich
 
Beiträge: 1078
Registriert: Sa 6. Okt 2001, 00:00
Wohnort: Hamburg

Antwort

Beitragvon Anonymous » Di 4. Mär 2003, 23:49

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Vielen Dank für Deine Antwort, leider funktioniert es nicht so :-(

Ich schreibe mal hier die genaue Syntax, welche ich verwende:

Tabelle ist: kunden

In der SQL-Tabelle gibt es zwei Felder mit dem Namen :

Kund_id und Kund_name

Diese SQL-Tabelle lese ich in Filemaker per Import ein und habe

die Werte in den Feldern:

ID und Name


Jetzt ändere ich in meinem Layout den Namen des kunden
(also Feld Name) und schicke aus diesem Layout per Script-Maker-Menu
mit folgenden Befehl die Daten zurück an SQL:

UPDATE kunden SET Kund_name="' &Name& '" WHERE Kund_id = "'ID'"

Die Anführungszeichen vorm UPDATE und am Ende der Syntax habe ich dabei mit Absicht weggelassen, weil diese ja im Scrip-Dialogfeld nicht erforderlich sich (laut Filemaker nur, wenn der SQL-Befehl in einem Textfeld hinterlegt wurde)

Leider steht nach dem Senden in meiner DB bei allen Einträgen im Feld Kund_name jetzt :

&name&

Filemaker setzt also nicht das Feld name ein sondern interpretiert mir name als string ???? Und eine ID-kann er auch nicht erkennen, also werden alle Datensätze geändert.

Wo könnte der Knackpunkt liegen ???

Wie gesagt ich verwende als SQL-Treiber den von MYSCL.com
NICHT den Filemaker-SQL Treiber - da dieser komischerweise die Datenbank nicht anspricht und mir keine Verbindung bringt.
Das dürfte aber auch nicht das Problem sein, weil die Tabelle ja angesprochen wird.

Vielen Dank - LOUIE
Anonymous
 

Antwort

Beitragvon JTeich » Mi 5. Mär 2003, 10:51

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Setze dein SQL-Statement in ein Variablenfeld ein, dann kannst du es dir ausgeben lassen.

Nach einem Tipp von C Belling funktioniert es nicht mit Formeln.

Jens
-------------------------
dr. jens teich
filemaker 7+8 certified developer
filemaker authorized trainer
http://jensteich.de
http://fmfaq.de
-------------------------
JTeich
 
Beiträge: 1078
Registriert: Sa 6. Okt 2001, 00:00
Wohnort: Hamburg

Antwort

Beitragvon Anonymous » Mi 5. Mär 2003, 12:06

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Hallo,

ich verzweifele fast :-)

Ich habe mittleweile heraus bekommen das es nur über ein Variablen-Feld geht - habe aber keine Ahnung wie so eine Formel aussehen müsste (besonders wegen der Schreibweise von Quotes oder auch Nicht-Quotes)

Ein Beispiel ?

Vielen Dank - Louie
Anonymous
 

Antwort

Beitragvon schube » Mi 5. Mär 2003, 16:40

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hallo!


Ich beantworte mal den Quotes-Teil:

Ein Text wird mit
Code:

"Ich bin Text"


ausgegeben.

Anführungszeichen werden mit einem anderen Anführungszeichen terminiert, das heißt also, um - Ich heiße "Bernhard" - auszugeben, schreibt man:
Code:

"Ich heiße ""Bernhard""" <---Das sind 2 bzw. 3 Anführungszeichen



Alles klar?
Bernhard
Dipl-Ing. (FH) Bernhard Schulz,
Geschäftsführer von http://www.schubec.com
Leiter des FileMakerProfis-Team
FileMaker Schulungen unter http://www.fm-training.info
Benutzeravatar
schube
Administrator
 
Beiträge: 2339
Registriert: Mi 7. Jul 2010, 15:59
Wohnort: Salzburg, Österreich

Antwort

Beitragvon Anonymous » Mi 5. Mär 2003, 18:26

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Danke Bernhard - DAS ist klar :-)

Ich benötige ein Beispiel einer kompletten "SQL-Formel" des UPDATE-Befehls in einem Variablen-Feld welches man mit dem Funktions-Editor estellt - das ist mein Problem !!

Danke - Louie
Anonymous
 

Antwort

Beitragvon Anonymous » Mi 5. Mär 2003, 19:01

Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Okay hat sich erledigt:

Damit ein anderer nicht viel fragen muss: :-)

Hier das Beispiel (worum es mir ging):

"UPDATE kunden SET name="&"'"& kundenname &"'" &"WHERE id ="&"'"& kund_id &"'" &""

Mir war die Funtionsweise des & in FM nicht ganz geläufig, das war mein Problem.

Grüße Louie
Anonymous
 

Re: SQL-Syntax in Filemaker

Beitragvon fm-tester » Mo 28. Mär 2011, 20:01

Hallo,
tschuldigung, daß ich diesen Uraltkram ausgrabe.
Ich bin neu mit filemaker (Version11pro) und habe wie der Threadersteller eine mysqlDatenbank (xtcommerce Shop) angebunden.
SELECT Abfragen funktionieren prima, feste (nicht dynamische) UPDATE Abfragen ebenfalls, zb diese:

Code: Alles auswählen
UPDATE products
SET products_weight = 11.11
WHERE products_id = 1458

funktioniert so wie es hier steht ohne Anführungszeichen etc.

Mein Problem ist und ich krieg es nach Stunden probieren nicht ums verrecken hin, eine UPDATE Anweisung mit den Variablen Feldern der lokalen Filemaker Tabelle zu erstellen, ich kapiere einfach nicht wo diese ganzen
& " ' usw
hinmüssen und warum? (so nach dem Motto, "Wer bin ich und wenn ja wieviele")

products_weight steht bei mir im Filemaker in test_tabelle::fm_products_weight und die products_id in test_tabelle::fm_products_id

Probiert in unzähligen Varianten habe ich zB:
Code: Alles auswählen
"UPDATE `products`
SET `products_weight` = " & test_tabelle::fm_products_weight
WHERE `products_id` =  "  & test_tabelle::fm_products_id


Also ich wäre wirklich dankbar, wenn mir jemand die obige Anfrage erstellen könnte, und vielleicht nochmal erklären könnte, wie die Syntax eigentlich ist ,finde nirgends eine Erklärung die ich wirklich verstehe,
Danke, viele Grüße
fm-tester
 
Beiträge: 1
Registriert: Mo 28. Mär 2011, 19:21


Zurück zu FM Im- / Export