2016-06-19 21 views
1

Ich habe eine Visual FoxPro-Tabelle, die ich verwende, um eine MySql-Tabelle zu aktualisieren, die Layouts sind identisch. Meine Insert-Anweisung ist:Problem beim Aktualisieren von MySql-Tabelle aus Visual FoxPro Tabelle

SQLEXEC(comm,[INSERT INTO unpaid (sms, salesman, ourinv, date, custcode, customer, custpay, amtpd) values(?k_unpaid.sms, ?k_unpaid.salesman, ?k_unpaid.ourinv, ?k_unpaid.date, ?k_unpaid.custcode, ?k_unpaid.customer, ?k_unpaid.custpay, ?k_unpaid.amtpd)]) 

gibt es 4 weitere Spalten, die ich brauche zu aktualisieren, aber wenn ich sie in der obigen Aussage enthalten ich „Befehl enthält unbekannte Phrase/keyword“

Die zusätzlichen Spalten sind:

custpay
salescom
totcust
totcom

Agai n, die Tabellenstrukturen sind identisch, ich habe versucht, alle 4 Spalten hinzuzufügen, und ich bekomme den Fehler, ich habe versucht, nur eine der zusätzlichen Spalten zur Abfrage hinzuzufügen und immer noch den Fehler zu bekommen.

+0

ist es wahrscheinlich die? in? k_unpaid – Matt

+0

Bitte bearbeiten Sie Ihre Frage und schreiben Sie die Anweisung, die funktioniert und die, die nicht funktioniert – gavroche

Antwort

0

Ich denke, das Problem ist, dass die Anweisung, die Sie übergeben, länger ist als die zulässige Stringlänge in Anführungszeichen. Versuchen Sie, die Zeichenfolge zuerst zu erstellen und dann als Variable an SQLExec() zu übergeben. Der einfachste Weg ist mit dem TEXT-Befehl:

TEXT TO m.cSQL 
INSERT INTO unpaid (sms, salesman, ourinv, date, custcode, customer, custpay, amtpd) values(?k_unpaid.sms, ?k_unpaid.salesman, ?k_unpaid.ourinv, ?k_unpaid.date, ?k_unpaid.custcode, ?k_unpaid.customer, ?k_unpaid.custpay, ?k_unpaid.amtpd) 
ENDTEXT 

SQLEXEC(comm, m.cSQL) 
+0

Perfekt! Vielen Dank! –