-6

文字列として取得されるパラメータがあります

String Dept_ID[] = request.getParameterValues("dept_id"))

jspで。タイプが数値であるデータベースに文字列を挿入する必要があります

@DEPT_ID NUMERIC(10,0)). 

変換を実行する方法は?

4

2 に答える 2

5

コードは文字列の配列を受け取っています。Integer.parseIntまたはを使用して、または必要に応じて、配列のエントリを数値に変換できLong.parseLongます。

例えば:

String Dept_ID[] = request.getParameterValues("dept_id"));
int[] ids = null;
if (Dept_ID != null) {
    ids = new int[Dept_ID.length];
    for (int index = 0; index < Dept_ID.length; ++index) {
        ids[index] = Integer.parseInt(Dept_ID[index]);
    }
}

数値が10とは異なる基数(基数)を使用している場合は、基数を2番目の引数として指定できます(詳細については、リンクを参照してください)。

于 2013-03-16T10:12:33.470 に答える
0

上記の答えは正しいですが、変換できない文字を入力として取得したときに何が起こるかを考慮していません。あなたが私に尋ねるなら、あなたはその部分にトライアンドキャッチメソッドを使いたいです.

次のようなもの(上記のコードを使用すると仮定):

String Dept_ID[] = request.getParameterValues("dept_id"));
int[] ids = null;

if (Dept_ID != null) {
    ids = new int[Dept_ID.length];
    for (int index = 0; index < Dept_ID.length; index++) {
        try {
            ids[index] = Integer.parseInt(Dept_ID[index]);
        }
        catch ( NumberFormatException e ) {
            System.out.println("Invalid crap.");
        }
    }
}

また、++index 部分を逆に index++ に配置していることにも注意してください。これを行わないと、配列の最初のインデックスが常に失われます。

于 2013-03-16T10:58:22.370 に答える