0

準備済みステートメントを使用して、レコードを SQL Server 2008 テーブルに挿入しています。

値の一般的な挿入のための私のロジックは、最初にテーブルのメタ日付を取得し、すべてのフィールドの種類を取得し、その後、フィールドの種類に基づいて準備されたステートメントに値を設定します。

これは「テキスト」の例です

if(table.type_list.get(i).toUpperCase().equals("TEXT"))
{
    type = java.sql.Types.CHAR;
        prd.setString(i+1, value);
}

私の質問は、「テキスト」フィールドについて、使用する必要があるタイプ (つまり、java.sql.types.???) と、使用する必要があるセットの種類についてです。

私のコード例では、「文字列またはバイナリ データが切り捨てられます」という例外がスローされます。

4

1 に答える 1

0

この質問はあなたの質問と非常に似ていると思います。あなたが抱えている問題は、Types.CHAR実際には単一の文字 (コードで指定されている最大長はどこですか?) であり、文字列全体をバインドしようとしていることです。

于 2013-01-13T16:04:17.083 に答える