以下のリストから製品をお選び下さい。

 

FAQ-Unify NXJ

previouslistnext

NXJのフォームをLinkオブジェクトに設定するにはどのようにすればよいですか?

テキストフィールドのようなコントロールを配置していないメニュー画面のようなフォームを実行すと、The Unify NXJ application has exited と表示されフォームが実行されません。なぜこのフォームは実行されないのでしょうか?

前のフォームの変数を参照するにはどうすれば良いですか?

TABキーなどによってフォームに配置しているフィールドを移動する順番を、任意に指定することはできますか?

Unify NXJでJavaクラスを使用するにはどの様にすればいいでしょうか?

フォーム内にクラスやメソッドを作成することが出来ますか?

テーブルの検索データを複数レコードで表示するフォームを作成するにはどのようにすればいいですか?

フォーム上で2つのテーブルのフィールドを関連付けして、マスタ/詳細に設定するにはどのように設定しますか?
テキストフィールドのデータの表示形式を指定できますか?
フォームで新規登録のみ実行可能なフォームを作成する方法を教えて下さい。
条件に応じてカーソルの移動先を変更することは可能でしょうか?
開発時と実行時のデータベース接続の設定はどのようになっていますか?
フォームに配置したテキストフィールドに検索モードで入力した検索条件を確認する方法はありますか?
jBizスクリプトから動的SQL文を実行する方法を教えてください。
LinkコントロールのLink/Hrefプロパティの値を動的に設定する方法はありますか?
ボタンコントロールにURLを割り当てる方法はありますか?
検索条件の初期値をセットしておきたいのですが、どのようにすればよいでしょうか?
NXJで標準実装されているJavaScriptに対する変更、追加は可能でしょうか?
Unify NXJ 9.1BBを使っているのですが、9.1Cにバージョンアップする場合9.1BBで作成したプロジェクトをそのまま使用することは出来ますか?
初期起動時のブラウザのサイズを指定出来ますか?

 

jBizスクリプトから動的SQL文を実行する方法を教えてください。
動的SQL文を使用するには、JDBCのprepareStatement()メソッドを使用します。
NXJ jBizからこのメソッドを利用するにはまず、フォームで使用している接続を獲得します。
getConnection()メソッドでプロジェクトに定義してあるConnectionsのデータベース接続を指定します。
このメソッドから戻されるNXJDataConnectionのgetJdbcConnection()メソッドでJDBCのConnectionを獲得します。
その後は、通常のJDBCを使用したデータベースアクセスをコーディングします。
以下はコーディング例の抜粋です。

使用しているテーブル構成
テーブル名 JdbcAccessForm
フィールド名 f1 データ型 numeric サイズ 5
フィールド名 f2 データ型 charactor サイズ 32

// 変数定義
NXJDataConnection Nconn1;
Connection conn1;
String sel1;
PreparedStatement psql;
ResultSet res1;

// ダミー条件
int num1 = 1;

// デザインセンターに定義してある Connection ds82_e を獲得
Nconn1 = session.getConnection("ds82_e");

// JDBC Connection を獲得
conn1 = Nconn1.getJdbcConnection();

// 検索 SQL文を作成
sel1 = "select f1, f2 from JdbcAccessForm ";

// 検索条件
if (num1 == 1) {
    sel1 = sel1 + "where f1 = ?";
}
else {
    sel1 = sel1 + "where f2 = ?";
}

// PreparedStatement
psql = conn1.prepareStatement(sel1);

// 検索条件を 画面フィールド(w1, w2)からセット
if (num1 == 1) {
    psql.setInt(1,w1);
}
else {
    psql.setString(1,w1);
}

// 検索を実行
res1 = psql.executeQuery();

// 検索したデータを画面フィールド(ans1, ans2)にセット
while(res1.next()) {
    ans1 = res1.getInt(1);
    ans2 = res1.getString(2);
   JdbcAccessForm.updateCurrentRecord();
}

// Close
psql.close();
conn1.close();