1 システムODBCデータソースの写真を確立します(今回はOracle 9iを使用しています、詳細な構成がわからない場合はご連絡ください)
2 DataBaseConnection.java ファイルをコンパイルし、コンパイルしたファイルを PHP でサポートされているクラス ファイル ディレクトリに配置します
パッケージ com.inberkong.util;
/*************************************************** * ***
* プログラム ファイル: コピー バッファー プール DataBaseConnection.java
*作成日:2005/3/28(MM-DD-YYYY)
*作成者:InberKong(GongYingBin)
*最終更新日:2005/3/28(YYYYMM-DD)
* 変更者:InberKong(GongYingBin)
* 関数:Oracle DataBaseConnectionPool を取得します
//データソースを検索するためのツールクラス。
************************************************* * *****/
インポート java.sql.*;
//データベースに接続するためのツールクラス。
パブリッククラスDataBaseConnection
{
/**
*データベース接続を返す静的メソッド。
*/
パブリック静的接続 getConnection()
{
接続 con=null;
試してみてください
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:photo","photo","inberkong");//データソース接続情報
}
catch(例外 e)
{
e.printStackTrace();
}
リターンコン;
}
}
3 データテーブルを読み取る処理クラスをコンパイルし、PHPが呼び出すJavaクラスのディレクトリに処理クラスを配置します
ユーザーロールテーブルを読み込み、ユーザーとロールの関係をJS配列で返す処理クラス GetUserRolseArray.java
注: プログラムを読むときは、関連するテーブルの構造を気にする必要はありません。通話処理プロセス全体だけを気にすることができます。
パッケージ com.inberkong.processBean;
import java.lang.*;
インポート java.sql.*;
import java.util.*;
java.io.*;
をインポートします
com.inberkong.util.DataBaseConnection をインポートします;
パブリッククラス GetUserRolseArray
{
プライベート接続のコスト;
プライベートステートメント stmtsss=null;
プライベートステートメント stmt2=null,stmt3=null;
プライベート ResultSet rstsss=null;
プライベート ResultSet rst2=null,rst3=null;
プライベート文字列 sqlss="";
プライベート文字列 sql2="",sql3="";
プライベート文字列 rString="";
プライベート文字列 ID,ID2;
プライベート文字列の名前;
private int i=0;
public GetUserRolseArray()
{
試してみてください
{
This.conss=DataBaseConnection.getConnection();
}
キャッチ(例外e)
{
}
//DataBaseConnection.getConnection();
}
protected void Finalize() は Throwable をスローします
{
//
//super.finalize();
//System.out.println("inberkong");
closeCON();
}
パブリック文字列 getUserRolseArray() が例外をスローします
{
//exePtempfunction();
sqlss="ADMIN WHERE 1=1 AND STATE!=0 AND USERTYPE!=0 から ID、名前を選択
//外部ユーザーは追加後のロール管理に参加しません
stmtsss=conss.createStatement();
rstsss=stmtsss.executeQuery(sqlss);
while (rstsss.next())
{
ID=rstsss.getString("ID");
ID2=ID;
NAME=rstsss.getString("NAME");
rString=rString+"
"+"arr["+i+"]=新しい BDSort
("+ID+",00,"+名前+",);";
i++;
sql3="select ID,NAME from ROLE_MANAGE where ID in( select ROLSEID
USER_ROLSE_LINK から USERID="+ID2+") ID 順に asc ";
stmt3=conss.createStatement();
rst3=stmt3.executeQuery(sql3);
while(rst3.next())
{
ID=rst3.getString("ID");
NAME=rst3.getString("NAME");
rString=rString+"
"+"arr["+i+"]=新しい BDSort
("+ID+","+ID2+","+NAME+",y);";
i++;
}
sql2="ID が含まれていない ROLE_MANAGE から ID、NAME を選択します (
USER_ROLSE_LINK の ROLSEID (USERID="+ID2+")) ID 順に asc ";
stmt2=conss.createStatement();
rst2=stmt2.executeQuery(sql2);
while(rst2.next())
{
ID=rst2.getString("ID");
NAME=rst2.getString("NAME");
rString=rString+"
"+"arr["+i+"]=新しい BDSort
("+ID+","+ID2+","+NAME+",n);";
i++;
}
}
rstsss=null;
rString を返します;
}
public static void main(String[] args){
//测试如下
GetUserRolseArray obj1 = 新しい GetUserRolseArray();