Mobile:NEWS |
2002年9月20日 00:46 AM 更新
|
ビジネスiアプリ入門(6)
待ち受けビジネスIMのデータベース周りの作成(3/4)
前のページ
状態変更にはupdateを使用します。状態変更のSQL文は下記のようになりますので、登録と同様にJavaで記述します。
update user set state='仕事中' where name='uni';
データの取得には selectを使用します。ユーザの名前と状態は下記のようなSQL文で得られます。
select name, state from user;
Javaで結果を配列にするコードは下記のようになります。
ArrayList al = new ArrayList();
ResultSet result = state.executeQuery("select name, state from user");
while (result.next()) {
String name = result.getString(1);
String state = result.getString(2);
String[] user = new String[2];
user[0] = name;
user[1] = state;
al.add(user);
}
result.close();
String[][] res = new String[][al.size()];
al.toArray(res);
メッセージ取得の場合は、結果取得のループが終わった後に、IDの最大値以下の値をdeleteを使用して削除するようにします。
delete from message where toName = '" + name + "' and id <= " + maxid
DatabaseAccessクラスのソース全文はこちらから。
テスト実行
できたアクセスクラス用にテストコードを書き、実行してみます。実際このアクセスクラスを使うことを想定し、その流れに沿ったテストコードを下記のように記述します。
// データベースアクセスクラス生成
DatabaseAccess da = new DatabaseAccess();
// test1を登録
boolean ok = da.registUser("test1");
System.out.println("registUser(test1) : " + ok);
// test1を再度登録を試みる → 失敗することを確認
ok = da.registUser("test1");
System.out.println("registUser(test1) : " + ok);
// test2を登録
ok = da.registUser("test2");
System.out.println("registUser(test2) : " + ok);
// メッセージを登録
da.registMessage("test1", "test2", "message1to2-1");
da.registMessage("test1", "test2", "message1to2-2");
da.registMessage("test2", "test1", "message2to1");
// test1の状態を変更
da.changeUserState("test1", "仕事中");
// 全メンバーの名前と状態を取得
String[][] userstate = da.getUserState();
for (int i = 0; i < userstate.length; i++) {
for (int j = 0; j < userstate[i].length; j++) {
System.out.println(i + "-" + j + " : " + userstate[i][j]);
}
}
// test1に届いているメッセージを取得
System.out.println("message test1");
String[][] message = da.getUserMessage("test1");
for (int i = 0; i < message.length; i++) {
for (int j = 0; j < message[i].length; j++) {
System.out.println(i + "-" + j + " : " + message[i][j]);
}
}
// test2に届いているメッセージを取得
System.out.println("message test2");
message = da.getUserMessage("test2");
for (int i = 0; i < message.length; i++) {
for (int j = 0; j < message[i].length; j++) {
System.out.println(i + "-" + j + " : " + message[i][j]);
}
}
[福野泰介, ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.
前のページ
| 3/4 | 次のページ