2016-06-19 1 views
1

MySqlテーブルを更新するために使用しているVisual FoxProテーブルがあり、そのレイアウトは同じです。私のINSERT文は次のとおりです。Visual FoxProテーブルからMySqlテーブルを更新する際に問題が発生する

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)]) 

私は更新する必要がありますが、私は上記のステートメントに含めるときに私が得る4つの以上の列がある「コマンドは認識できないフレーズ/キーワードが含まれています」

追加の列は以下のとおりです。

custpay
salescom
totcust
totcom

Agai n、テーブル構造は同じですが、4つの列をすべて追加しようとしましたが、エラーが発生しました。追加の列を1つだけ追加してもエラーは発生しました。

+0

おそらく? in?k_unpaid – Matt

+0

あなたの質問を編集して、動作している文と、していない文を書きなさい。 – gavroche

答えて

0

あなたが渡している命令が、許可されている引用符付き文字列の長さよりも長いというのが問題だと思います。最初に文字列を構築し、SQLExec()に変数として渡してみてください。最も簡単な方法はTEXTコマンドです:

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

完璧!ありがとう! –

関連する問題