私はリストビュー内にドキュメントのデータを取り込むことでデータが取り込まれるユーザーリストを持っています。私はこれ以上の任意の行をクリックすると、私がダウンして記載されている自分の情報のすべてを見ることができるはずです(各行が1人のユーザーを表す)。(これは私の問題である)私は、行をクリックした場合DQLを介してドキュメントから1行のデータを取得
public void selectedItemFromListView(){
selected = lwAllUserGrp.getSelectionModel().getSelectedItem();
System.out.println(selected);
String query =" select * from dm_user where user_name = '@aclName'" ;
String test = query.replace("@aclname", selected);
GetDataWithDqlProfile(_session , query , "user_login_name" , "user_address" , "user_state");
System.out.println(user.getAddress());
System.out.println(user.getState());
System.out.println(user.getUsername());
}
私は正常に誰が選択されているかを見ることができ、DQLを介してドキュメント名からそのユーザ名(同じ人物)の他のすべての属性を検索する必要があります。
private void GetDataWithDqlProfile(IDfSession session, String Query, String username , String address , String state) {
try {
IDfQuery UpdateQuery = new DfQuery();
UpdateQuery.setDQL(Query);
IDfCollection col = UpdateQuery.execute(_session, IDfQuery.DF_QUERY);
user.setAddress(col.getString(username));
user.setUsername(col.getString(address));
user.setState(col.getString(state));
col.close();
} catch (Exception e) {
Alert alert = new Alert(Alert.AlertType.ERROR, e.getMessage());
alert.showAndWait();
Logs.WriteLog(LoginController.Repository + ",User:" + LoginController.Username, "DQL Query", e.toString());
e.getStackTrace();
}
と私の出力は次のとおりです。
User's name
null
null
null
私はDQLテスターでDQLクエリを試みたし、それはあなたが呼び出す必要がありIDfCollectionから行をフェッチするためにも
エラーはなくなりましたが、私はまだ3つすべてnullです;)@eivamu –
デバッグ出力を 'if(){}'ブロック内に追加して 'next()'が返るかどうかを調べてみましょう「真」。そうでない場合、あなたのDQLは間違っているか、単に空のコレクション(行がない)を返します。 – eivamu