- packagecom.work.core.db;
- /**
- *
- *@authorwangmingjie
- *@date2008-12-19上午09:51:27
- *直接连数据库的时候一定要注意MicrosoftAccessDriver(*.mdb)中Driver后面必须有空格。
- */
- importjava.sql.Connection;
- importjava.sql.DriverManager;
- importjava.sql.ResultSet;
- importjava.sql.SQLException;
- importjava.sql.Statement;
- importjava.util.ArrayList;
- importjava.util.List;
- importcom.gongjian.sysjy.model.Fy501;
- importcom.work.core.exception.OurException;
- publicclassAccessConnectionExample{
- publicstaticvoidmain(Stringargs[]){
- List<Fy501>l=newAccessConnectionExample().getFy501Data("D:\\gjzdq\\FY501.mdb");
- intLEN=l.size();
- for(inti=0;i<LEN;i++){
- System.out.println(l.get(i));
- }
- System.out.println("总共有"+LEN+"条记录!");
- }
- /**
- *获取到自动缫丝机上的数据。将所有的数据一次性读取到内存中。
- *@parammdbaccess文件的全路径。
- *@return
- */
- publicList<Fy501>getFy501Data(Stringmdb){
- Connectionconn=null;
- Statementstmt=null;
- ResultSetrst=null;
- List<Fy501>l=newArrayList<Fy501>();
- try{
- //Stringstrurl="jdbc:odbc:driver={MicrosoftAccess
- //Driver(*.mdb)};DBQ=D:\\gjzdq\\FY501.mdb";//Driver后面没有空格,所以无法链接
- Stringstrurl="jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ="+mdb;//此为NO-DSN方式
- //Stringstrurl="jdbc:odbc:test";//需要配DSN,不要使用这种方式
- Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
- System.out.println("beforeconnection");
- conn=DriverManager.getConnection(strurl);
- System.out.println("afterconnection");
- stmt=conn.createStatement();
- rst=stmt.executeQuery("select*from501");
- while(rst.next()){
- Fy501fy501=newFy501();
- fy501.setJyqh(rst.getString("jyqh"));
- fy501.setTh(rst.getString("th"));//台号
- fy501.setJybh(rst.getString("jybh"));//检验编号
- fy501.setGh(rst.getString("gh"));//工号
- fy501.setCs(rst.getString("cs"));//车速
- fy501.setStwd(rst.getString("stwd"));//缫汤温度
- fy501.setSxwd(rst.getString("sxwd"));//索绪温度
- fy501.setJysj(rst.getString("jysj"));//检验时间
- fy501.setGsls(rst.getString("gsls"));//供试粒数
- fy501.setTx(rst.getString("tx"));//添绪
- fy501.setDc(rst.getString("dc"));//吊糙
- fy501.setZc(rst.getString("zc"));//总长
- fy501.setPjls(rst.getString("pjls"));//平均粒数
- fy501.setH(rst.getString("h"));//厚
- fy501.setZ(rst.getString("z"));//中
- fy501.setB(rst.getString("b"));//薄
- fy501.setX(rst.getString("x"));//屑
- fy501.setL(rst.getString("l"));//漏
- fy501.setWd(rst.getString("wd"));//误吊
- fy501.setCsls(rst.getString("csls"));//初试粒数
- fy501.setQd(rst.getString("qd"));//纤度
- l.add(fy501);
- }
- }catch(Exceptione){
- thrownewOurException("解析缫丝机输出的access数据出错!",e);
- }finally{
- try{
- rst.close();
- }catch(SQLExceptione){
- }
- try{
- stmt.close();
- }catch(SQLExceptione){
- }
- try{
- conn.close();
- }catch(SQLExceptione){
- }
- }
- returnl;
- }
- }