In my java servlet application!
を使用して、String [] の形式のように、チェックボックスで選択された値を取得しています。
String[] skills = request.getParameterValues("skills");
次に、この string[] スキルセットの値を Oracle データベースに保存する必要があります。私は2つの小さな解決策を得ました1)(、)または(/)を追加して、その文字列配列を1つの文字列にします。次に、それを db (skill VARCHAR(1000)) 列に格納します。db 列でこのようなサイズを取得することは、あまり良い方法ではありません。2) 計画があります!すべてのチェックボックス名を db like (C Boolean、C++ boolean、Java boolean .....) の列として使用します。次に、テーブルの作成時に、すべてのデフォルト値を false にします。perticuler チェックボックスがチェックされている場合、値 true を db のように挿入します。たとえば、ユーザーがチェックボックス java のみを選択した場合、値として true を db に挿入します。
「これは非常に複雑なプロセスのようです」私の観点からすると、これら 2 つのオプションはトリッキーですが、企業の標準的な使用方法ではありません。これらのばかげたトリック以外に、文字列配列をデータベースに保存する方法はありますか???
String[] を受け取り、string[] を返すデータ型の使用方法は db にありますか??
もしあれば?詳細な手順を教えてください!!
前もって感謝します!
最近、私は1つの解決策を見つけました: VARRAY in oracle db =>
SQL> CREATE OR REPLACE TYPE smoketype IS VARRAY(3) OF VARCHAR(30)
2 /
Type created.
SQL> CREATE TABLE register (fname VARCHAR(30), lname VARCHAR(30), gender VARCHAR
(1), smoke SMOKETYPE);
Table created.
SQL> INSERT INTO register VALUES
2 (
3 'omkar','t','m',
4 smoketype('no')
5 );
1 row created.
SQL> INSERT INTO register VALUES
2 (
3 'om','T','m',
4 smoketype('no','not at all')
5 );
1 row created.
SQL> INSERT INTO register VALUES
2 (
3 'onky','T','m',
4 smoketype('no','never','not at all')
5 );
1 row created.
上記で..配列のように複数の値を取る型を作成しました。しかし、私のサーブレットでは、ステートメントを作成して select * from register クエリを実行すると、ResultSet obj が取得されます。しかし、その Smoketype 配列を String[] に戻すにはどうすればよいでしょうか? string[] 値を取得するにはどうすればよいですか? 誰か私を助けてください?