○Applet1.java
package FMP_Access;
import java.awt.*; import java.awt.event.*; import java.applet.*; import java.sql.*;
public class Applet1 extends Applet { List rList; //アプレット内に配置するリスト public void init() { setLocation(new java.awt.Point(0, 0)); //アプレットの左上を原点に setLayout(new BorderLayout()); //レイアウトはBorderLayoutを使う setSize(new java.awt.Dimension(400, 200)); //アプレットのサイズを指定 setBackground(Color.orange); //アプレットの背景はオレンジ色に add(new AccessButton("Get Data"), "North"); //ボタンをNorthに配置 add(rList = new List(), "Center"); //リストをCenterに配置 }
class AccessButton extends Button implements ActionListener { public AccessButton(String label) { super(label); this.addActionListener(this); } public void actionPerformed(ActionEvent e) { //ボタンをクリックした時に呼び出される Connection fmpCon = null; try { Class.forName("com.fmi.jdbc.JdbcDriver"); //JDBCドライバのロード fmpCon = DriverManager.getConnection("jdbc:fmpro:http://192.168.0.101"); //接続オブジェクトの確保 Statement st = fmpCon.createStatement(); //発行するSQLコマンドの生成 st.setMaxRows(100); //行数の上限を入れないと大きなDBで問題が出た st.execute("select * from \"テストデータベース\""); //SQLコマンドを実行する ResultSet rs = st.getResultSet(); //実行した結果セットの取得 rList.add("***フィールド1***/***フィールド2***"); //リストに文字列を設定 while(rs.next()) //結果セットを順次三唱 rList.add(rs.getString("フィールド1") + "/" + rs.getString(2)); //フィールド名による参照とフィールド番号による参照 fmpCon.close(); //接続を閉じる } catch(Exception ex) { System.out.println("#ERROR#"+ex.getMessage()); } } }
}
○Applet2.java
package FMP_Access;
import java.awt.*; import java.awt.event.*; import java.applet.*; import fminc.web.*;
public class Applet2 extends Applet { List rList; public void init() { setLocation(new java.awt.Point(0, 0)); //アプレットの左上を原点に setLayout(new BorderLayout()); //レイアウトはBorderLayoutを使う setSize(new java.awt.Dimension(400, 200)); //アプレットのサイズを指定 setBackground(Color.pink); //アプレットの背景はピンク色に add(new AccessButton("Get Data"), "North"); //ボタンをNorthに配置 add(rList = new List(), "Center"); //リストをCenterに配置 }
class AccessButton extends Button implements ActionListener { public AccessButton(String label) { super(label); this.addActionListener(this); } public void actionPerformed(ActionEvent e) { //ボタンをクリックした時に呼び出される try { FMProProxy fmProxy = new FMProProxy( new java.net.URL( "http://192.168.0.101" ) ); //まず、ファイルメーカーProのプロキシを用意する。URLはWebコンパニオンが稼動しているマシン
FMProRequest req = new FMProRequest(); //リクエストのオブジェクトを作成 req.setDatabaseName( "テストデータベース" ); //データベース名を指定 req.setLayoutName( "レイアウト1" ); //フォーム名を指定 req.setAction(FMProRequest.ACTION_FIND_ALL); //実行するコマンドを指定する
FMProResponse res = fmProxy.processRequest(req); //リクエストを処理する for( int i=0; i < res.getReturnedCount(); i++) { //応答の結果リストを順に処理する rList.add(res.getFieldValue(i, "フィールド1")[0] +"/" + res.getFieldValue(i, 1)[0]); //フィールドの値の取り出し方はちょっと独特 } } catch(Exception ex) {} } } }
|