0

データベースにCSVインポート(Coldfusion8を使用)を作成しようとしています。

CSVファイルは最初にColdfusion配列に解析され(このUDF"x"を使用して実行されます)、CSV列をインポートするJSONマッピングを使用してデータベースに実際に送信する前に、検証のために一時テーブルにフィードします。

フィールド長を除いてすべてが正常に機能しています...それでもエラーがスローされます。

今、私はこのようにインポートしています:

...
<cfif variables.c_comp NEQ "">
, <cfqueryparam value = "#x[variables.c_comp]#" cfsqltype="cf_sql_varchar" maxlength="50">
</cfif>
...

x解析されるCSV行であり、variables.c_comp指定されたフィールドのJSONマップ列番号です。

私の問題は、ユーザーが長さ51文字のフィールドを送信すると、インポート全体が失敗することです。

質問:
最初の50文字をインポートして、エラーをスローしない方法はありますか?または、フラグのみを設定することもできます。

入力ありがとうございます!

4

1 に答える 1

6

Left()関数を使用して最大長にトリミングするだけです

<cfqueryparam value = "#Left(x[variables.c_comp], 50)#" cfsqltype="cf_sql_varchar" maxlength="50">
于 2013-03-03T22:42:23.647 に答える