java直接连接access数据库

  1. packagecom.work.core.db;
  2. /**
  3. *
  4. *@authorwangmingjie
  5. *@date2008-12-19上午09:51:27
  6. *直接连数据库的时候一定要注意MicrosoftAccessDriver(*.mdb)中Driver后面必须有空格。
  7. */
  8. importjava.sql.Connection;
  9. importjava.sql.DriverManager;
  10. importjava.sql.ResultSet;
  11. importjava.sql.SQLException;
  12. importjava.sql.Statement;
  13. importjava.util.ArrayList;
  14. importjava.util.List;
  15. importcom.gongjian.sysjy.model.Fy501;
  16. importcom.work.core.exception.OurException;
  17. publicclassAccessConnectionExample{
  18. publicstaticvoidmain(Stringargs[]){
  19. List<Fy501>l=newAccessConnectionExample().getFy501Data("D:\\gjzdq\\FY501.mdb");
  20. intLEN=l.size();
  21. for(inti=0;i<LEN;i++){
  22. System.out.println(l.get(i));
  23. }
  24. System.out.println("总共有"+LEN+"条记录!");
  25. }
  26. /**
  27. *获取到自动缫丝机上的数据。将所有的数据一次性读取到内存中。
  28. *@parammdbaccess文件的全路径。
  29. *@return
  30. */
  31. publicList<Fy501>getFy501Data(Stringmdb){
  32. Connectionconn=null;
  33. Statementstmt=null;
  34. ResultSetrst=null;
  35. List<Fy501>l=newArrayList<Fy501>();
  36. try{
  37. //Stringstrurl="jdbc:odbc:driver={MicrosoftAccess
  38. //Driver(*.mdb)};DBQ=D:\\gjzdq\\FY501.mdb";//Driver后面没有空格,所以无法链接
  39. Stringstrurl="jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ="+mdb;//此为NO-DSN方式
  40. //Stringstrurl="jdbc:odbc:test";//需要配DSN,不要使用这种方式
  41. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  42. System.out.println("beforeconnection");
  43. conn=DriverManager.getConnection(strurl);
  44. System.out.println("afterconnection");
  45. stmt=conn.createStatement();
  46. rst=stmt.executeQuery("select*from501");
  47. while(rst.next()){
  48. Fy501fy501=newFy501();
  49. fy501.setJyqh(rst.getString("jyqh"));
  50. fy501.setTh(rst.getString("th"));//台号
  51. fy501.setJybh(rst.getString("jybh"));//检验编号
  52. fy501.setGh(rst.getString("gh"));//工号
  53. fy501.setCs(rst.getString("cs"));//车速
  54. fy501.setStwd(rst.getString("stwd"));//缫汤温度
  55. fy501.setSxwd(rst.getString("sxwd"));//索绪温度
  56. fy501.setJysj(rst.getString("jysj"));//检验时间
  57. fy501.setGsls(rst.getString("gsls"));//供试粒数
  58. fy501.setTx(rst.getString("tx"));//添绪
  59. fy501.setDc(rst.getString("dc"));//吊糙
  60. fy501.setZc(rst.getString("zc"));//总长
  61. fy501.setPjls(rst.getString("pjls"));//平均粒数
  62. fy501.setH(rst.getString("h"));//厚
  63. fy501.setZ(rst.getString("z"));//中
  64. fy501.setB(rst.getString("b"));//薄
  65. fy501.setX(rst.getString("x"));//屑
  66. fy501.setL(rst.getString("l"));//漏
  67. fy501.setWd(rst.getString("wd"));//误吊
  68. fy501.setCsls(rst.getString("csls"));//初试粒数
  69. fy501.setQd(rst.getString("qd"));//纤度
  70. l.add(fy501);
  71. }
  72. }catch(Exceptione){
  73. thrownewOurException("解析缫丝机输出的access数据出错!",e);
  74. }finally{
  75. try{
  76. rst.close();
  77. }catch(SQLExceptione){
  78. }
  79. try{
  80. stmt.close();
  81. }catch(SQLExceptione){
  82. }
  83. try{
  84. conn.close();
  85. }catch(SQLExceptione){
  86. }
  87. }
  88. returnl;
  89. }
  90. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值