java データベース利用(Microsoft Access編)
2007年 12月 03日
ショッピングカートも完成したので、データベース関係のことも作ることになった。
学校側でMySQLだったか、配っているが、当初の予定からうちの班はMicrosoftAccessを使用している。
さて、Accessって使いにくいの?複雑なの?と思っているかもしれない。
実は、すごく使いやすいのである。
ちょっといじったら、後は基本SQLメッセージを送るだけで処理が済む。
処理も早く、書き換えやすいAccessを利用しているので、簡単に管理が可能。
Excelデータも簡単にインポート可能。
と利点いっぱいなのである。MySQLを使ったことが無いので、そっちの利点などは分からないが。
さて、使い方。
まずJAVAからアクセスするために、ソースの位置を指定しなければならない。
これはJAVAのほうに記述すると思いきや、「Microsoft ODBC アドミニストレータ」というものを使って管理するのである。
コントロールパネル→管理ツール→データソース(ODBC)
まずこれを開く。
そしたら、ユーザーDNSタブが開いていると思うので、そこの追加をクリック。
「セットアップするデータソースのドラバを選択してください」
と出てくるので、
Microsoft Access Driver (*.mdb)
を選択、完了をクリック。
データソース名は自分の好きな名前をつけて良いが、Javaはこの名前で記述していくので、半角文字が良い。データベースと同じ名前にしたほうが分かりやすく無難だろう。
データベース:
[選択] [作成] [修復] [最適化]
とあるので、選択をクリック。
その後、用意したAccessデータベースファイル(拡張子は.mdb)を選択。
それでOKを押し、最初の画面でokをクリックし終了。
これでJAVAでも使用できるようになった。
ではJAVAでどのように使うのか。
まずimportするのは
import java.sql.*;
そしたら、まず
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:データソース名");
Statement stmt = con.createStatement();
これで接続が出来る。
そしたらSQL文を書き始める。
SQLは基本Stringデータである
たとえば
String sql = "SELECT * FROM 注文情報";
これは注文情報テーブルから全部情報を取り出す、という意味である。
SQLまで説明するととんでもない長さになるので省略。
そしたらこのStringを使用する。
ResultSet res = stmt.executeQuery(sql);
stmtは接続した再に生成されたStatementオブジェクトである。
executeQuery(String)
これでStringを使用するのである。
さて、ResultSetオブジェクトresにデータベースから取り出したデータが入った。
これは1行ずつ扱っていくので、1行のデータを取り出すことが可能だ。
注意点として、1行目からデータが入っているとしても、最初は0行目に位置しているため、そのまま使用とするとエラーが起こってしまう。
なので、まず次の行に行ってからデータを読み出すのである。
次の行に行くためのメソッドはこちら
res.next();
これで次の行に進む。
さて、その行からデータを取り出すにはどうするのか?
それは簡単に実現できる。
int型を取り出す場合:res.getInt("カーソル名");
String型を取り出す場合:res.getString("カーソル名");
カーソル名とは列の名前である。
使用例
String Password = res.getString("Pass");
これでPasswordに今いる行のPass列からデータを取り出す。
データベース書き込む場合、変更する場合、削除する場合はそのSQLを書いた後
executeQueryではなくexecuteUpdateでなければならないので注意。
さて、使用したら接続をきちんと切断しないとならない。
stmt.close();
con.close();
これで切断できる。
以上扱い方を書いてきたが、どうだろう?簡単だとは思わなかっただろうか?
Accessも使いやすいツールなので、もし詰まったら使ってみるのもいいかもしれない。
学校側でMySQLだったか、配っているが、当初の予定からうちの班はMicrosoftAccessを使用している。
さて、Accessって使いにくいの?複雑なの?と思っているかもしれない。
実は、すごく使いやすいのである。
ちょっといじったら、後は基本SQLメッセージを送るだけで処理が済む。
処理も早く、書き換えやすいAccessを利用しているので、簡単に管理が可能。
Excelデータも簡単にインポート可能。
と利点いっぱいなのである。MySQLを使ったことが無いので、そっちの利点などは分からないが。
さて、使い方。
まずJAVAからアクセスするために、ソースの位置を指定しなければならない。
これはJAVAのほうに記述すると思いきや、「Microsoft ODBC アドミニストレータ」というものを使って管理するのである。
コントロールパネル→管理ツール→データソース(ODBC)
まずこれを開く。
そしたら、ユーザーDNSタブが開いていると思うので、そこの追加をクリック。
「セットアップするデータソースのドラバを選択してください」
と出てくるので、
Microsoft Access Driver (*.mdb)
を選択、完了をクリック。
データソース名は自分の好きな名前をつけて良いが、Javaはこの名前で記述していくので、半角文字が良い。データベースと同じ名前にしたほうが分かりやすく無難だろう。
データベース:
[選択] [作成] [修復] [最適化]
とあるので、選択をクリック。
その後、用意したAccessデータベースファイル(拡張子は.mdb)を選択。
それでOKを押し、最初の画面でokをクリックし終了。
これでJAVAでも使用できるようになった。
ではJAVAでどのように使うのか。
まずimportするのは
import java.sql.*;
そしたら、まず
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:データソース名");
Statement stmt = con.createStatement();
これで接続が出来る。
そしたらSQL文を書き始める。
SQLは基本Stringデータである
たとえば
String sql = "SELECT * FROM 注文情報";
これは注文情報テーブルから全部情報を取り出す、という意味である。
SQLまで説明するととんでもない長さになるので省略。
そしたらこのStringを使用する。
ResultSet res = stmt.executeQuery(sql);
stmtは接続した再に生成されたStatementオブジェクトである。
executeQuery(String)
これでStringを使用するのである。
さて、ResultSetオブジェクトresにデータベースから取り出したデータが入った。
これは1行ずつ扱っていくので、1行のデータを取り出すことが可能だ。
注意点として、1行目からデータが入っているとしても、最初は0行目に位置しているため、そのまま使用とするとエラーが起こってしまう。
なので、まず次の行に行ってからデータを読み出すのである。
次の行に行くためのメソッドはこちら
res.next();
これで次の行に進む。
さて、その行からデータを取り出すにはどうするのか?
それは簡単に実現できる。
int型を取り出す場合:res.getInt("カーソル名");
String型を取り出す場合:res.getString("カーソル名");
カーソル名とは列の名前である。
使用例
String Password = res.getString("Pass");
これでPasswordに今いる行のPass列からデータを取り出す。
データベース書き込む場合、変更する場合、削除する場合はそのSQLを書いた後
executeQueryではなくexecuteUpdateでなければならないので注意。
さて、使用したら接続をきちんと切断しないとならない。
stmt.close();
con.close();
これで切断できる。
以上扱い方を書いてきたが、どうだろう?簡単だとは思わなかっただろうか?
Accessも使いやすいツールなので、もし詰まったら使ってみるのもいいかもしれない。
by poppy_h
| 2007-12-03 02:02
| 情報技術