java firebird 1.5_JAVA访问firebird数据库之Jaybird-2.1.6JDK_1.5之综合使用实例

一、FB数据库操作类如下:

import java.io.ByteArrayInputStream;

import java.sql.*;

import org.firebirdsql.jdbc.*;

public class DataBaseOperation

{

private java.sql.Connection Connection;

public  static int TEST_ROW_COUNT = 100;

public  boolean FBConnection(String DBName,

String DBType,

String DBUserName,

String DBPassword)

{

org.firebirdsql.pool.FBWrappingDataSource dataSource = new org.firebirdsql.pool.FBWrappingDataSource();

dataSource.setDatabase (DBName);

dataSource.setDescription ("An example database of employees");

dataSource.setType(DBType);

dataSource.setEncoding("ISO8859_1");

try

{

dataSource.setLoginTimeout(10);

Connection = dataSource.getConnection (DBUserName, DBPassword);

}

catch (java.sql.SQLException e)

{

e.printStackTrace();

System.out.println ("sql exception: " + e.getMessage ());

}

if(Connection!=null)

return true;

else

return false;

}

public DataBaseOperation (String DBName,String DBType,String DBUserName,String DBPassword)

{

Connection=null;

this.FBConnection(DBName,DBType, DBUserName,DBPassword);

}

public void CreateFBTable(String CreateSqlText)

{

java.sql.Statement stmt=null;

try

{

stmt = Connection.createStatement();

stmt.executeUpdate(CreateSqlText);

stmt.close();

}

catch (Exception e) {}

}

public ResultSet QueryFBTable(String SelectText)

{

Statement stmt=null;//java.sql.Statement

ResultSet rs=null;//java.sql.ResultSet

try

{

stmt = Connection.createStatement();

rs=stmt.executeQuery(SelectText);

stmt.close();

}

catch (Exception e) {}

if(rs!=null)

{

return rs;

}

else

{

return null;

}

}

public String GetStringFieldFromFB(ResultSet rs,int fieldColumsID)

{

String sringField="";

try

{

FBBlob.FBBlobInputStream sringOut;

sringOut= (FBBlob.FBBlobInputStream)rs.getBinaryStream(fieldColumsID);

int blobSize = (int)sringOut.length();

byte[] fullBlob = new byte[blobSize];

sringOut.readFully(fullBlob);

sringField=new String(fullBlob);

}

catch (Exception e) {}

return sringField;

}

public void ConvertStringToFBString(String InputString,PreparedStatement ps,int fieldColumsID)

{

try

{

ByteArrayInputStream sringIn = new ByteArrayInputStream(InputString.getBytes());

ps.setBinaryStream(fieldColumsID, sringIn,InputString.getBytes().length);

}

catch (Exception e) {}

}

public void ConnectionTest()

{

String str="SELECT * FROM employee";

try

{

Statement stmt = Connection.createStatement();

ResultSet rs=stmt.executeQuery(str);

while(rs.next())

System.out.println("a1 = " + rs.getString(1));

stmt.close();

}

catch(Exception e){}

}

public void InsertTest(String InsertTxt,int fieldNum,String [] args)

{

try

{

Connection.setAutoCommit(false);

PreparedStatement ps = Connection.prepareStatement(InsertTxt);

ps.setInt(1, Integer.parseInt(args[0]));

System.out.println(args[0]);

for(int i=1;i

{

ConvertStringToFBString(args[i],ps,i+1);

System.out.println(args[i]);

}

ps.executeUpdate();

ps.close();

Connection.commit();

}

catch(Exception e){}

}

public void SelectStringFieldTest(String SelectTxt,int[] StringfieldIDs)

{

try

{

Statement stmt = Connection.createStatement();

ResultSet rs = stmt.executeQuery(SelectTxt);

while(rs.next())

{

System.out.println("id="+rs.getString(1));

for(int i=0;i

{

String field=GetStringFieldFromFB(rs,i+2);

System.out.println("field"+(i+2)+":data="+field);

}

System.out.println();

}

stmt.close();

}

catch(Exception e){}

}

}

二、实例访问类如下:

import org.firebirdsql.jdbc.*;

import org.firebirdsql.jdbc.field.*;

public class JaybirdTest {

public static final String CREATE_TABLE =

"CREATE TABLE test_blob(" +

"  id INTEGER, " +

"  data BLOB SUB_TYPE 1  " +

")";

public static final String INSERT_TABLE="INSERT INTO test_blob(id, data) VALUES (?, ?)";

public static final String SELECT_TXT="SELECT id, data FROM test_blob";

public static final String DBName="../data/ROSEOUTLOOKINC.FDB";

public static final String DBType="LOCAL";

public static final String DBUserName="sysdba";

public static final String DBPassword="masterkey";

public static void main(String[] args)

{

try

{

DataBaseOperation fb=new DataBaseOperation(DBName,DBType, DBUserName,DBPassword);

fb.ConnectionTest();

String [] field={"200","中国IT实验室+优快云网络"};

int []StringfieldIDs={2};

fb.InsertTest(INSERT_TABLE,2,field);

fb.SelectStringFieldTest(SELECT_TXT, StringfieldIDs);

//fb.CreateFBTable(CREATE_TABLE);

}

catch(Exception e)

{

System.out.println("Exception");

}

}

}

三、关于我即将发布的JAVA访问firebird数据库之Jaybird-2.1.6JDK_1.5之综合使用实例之使用方法如下:

1、解压该文件夹到D盘2、运行D:/firebird_jaybird/FFIREBIRDfirebird数据库相关链接库文件/ 文件夹下的   Firebird-2.1.3.18185_0_Win32.exe,安装FB数据库3、将D:/firebird_jaybird/FFIREBIRDfirebird数据库相关链接库文件/ 文件夹下的   全部DLL文件拷贝到 C:/WINDOWS/system32 目录下4、在MyEclipse中加载加载D:/firebird_jaybird 文件夹下的jaybird工程,或者直接加载   D:/firebird_jaybird/jaybird/src 文件夹下的两个类  (但是需要将D:/firebird_jaybird  文件夹下的 data和JayBirdJar 两个文件夹拷贝到你的工程中)5、将D:/firebird_jaybird/JayBirdJar 文件夹下的jar文件加载到当前工程中6、运行JaybirdTest.java文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值