首页 \ 问答 \ MS Access通过Java代码返回空记录集(MS Access returning empty recordset through Java code)

MS Access通过Java代码返回空记录集(MS Access returning empty recordset through Java code)

我试图检索一个简单的查询结果来检查我的连接是否正常工作。 连接成功,但只返回空记录集。 有问题的行标有评论

以下是我的代码

             package ActualProject;
             import java.io.FileInputStream;
             import java.io.FileNotFoundException;
             import java.io.IOException;
             import java.sql.*;

             import net.ucanaccess.jdbc.*;
             import org.apache.poi.ss.usermodel.Row;
             import org.apache.poi.ss.usermodel.Sheet;
             import org.apache.poi.xssf.usermodel.XSSFWorkbook;

             public class MainClass {
             static String strURL = null;
             public MainClass() {
                        }

public static void main(String[] args) {

    String strUserDir = System.getProperty("user.dir");
    String strProjectPath = strUserDir.replaceAll("ActualProject", "");
    String strDataPath = strProjectPath + "Data\\Data.xlsx";
    String TestCaseDescription = null;
    String strTestCaseName = null;


    String TestCaseSheetPath = strProjectPath + "ActualProject\\TestCaseSheet\\TestCaseSheet.mdb";

    //Code to read TestCaseSheet
    try
    {
         Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");


        System.setProperty("DUCANACCESS_HOME","C:/Users/mindurka/
        Downloads/Selenium3.4/UCanAccess-4.0.2-bin/UCanAccess-4.0.2-bin");

         String connURL = "jdbc:ucanaccess://"+TestCaseSheetPath;
         Connection objAccessCon = DriverManager.getConnection(connURL);
         DriverManager.getConnection(connURL1);
         Statement objRS = objAccessCon.createStatement();

    //           String strEnvQuery = "Select * from Env where Use = 'No'";
         String strEnvQuery = "Select * from Env";
         objRS.executeQuery(strEnvQuery);
         ResultSet objEnvRS = objRS.getResultSet();


         while(objEnvRS.next())
         {
             strURL = objEnvRS.getString("URL");
             String strQuery = "Select * from TestCaseSheet where Execute = 'Yes'";
             objRS.execute(strQuery);
             ResultSet RS = objRS.getResultSet();
             if(RS != null)
             {
                 while (RS.next()) 
                {
                     TestCaseDescription = RS.getString("TestCaseDescription");
                     strTestCaseName = RS.getString("TestCaseName");
                     FileInputStream objFIS = new FileInputStream(strDataPath);
                     XSSFWorkbook objDataWB = new XSSFWorkbook(objFIS);
                     Sheet objActiveSheet = objDataWB.getSheet("RegDetails");

                     for(int intRowCounter = 0 ; intRowCounter < objActiveSheet.getLastRowNum(); intRowCounter++)
                     {
                         Row objRow = objActiveSheet.getRow(intRowCounter);
                         for(int intColumnCounter = 0; intColumnCounter < objRow.getLastCellNum(); intColumnCounter++)
                         {
                             System.out.println("Row=="+ intRowCounter + "Column =="+ intColumnCounter);
                         }
                     }

                     objActiveSheet= null;
                     //objRow = null;
                    objRS.close();
                    RS.close();
                    objAccessCon.close();

                }
             }
             else
             {
                 System.out.println("No testcases selected for execution");
             }




        }


    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally{

    }


}

}

Java版本:8 Eclipse版本:Neon MS Access版本:2007

请让我知道是否需要其他细节。 编辑评论:添加MSAccessScreenshot文件的屏幕截图


I am trying to retrieve results of a simple query to check if my connection is working or not. The connection is successful but there is only empty recordset returned. The problematic line is marked by a comment

Below is my code

             package ActualProject;
             import java.io.FileInputStream;
             import java.io.FileNotFoundException;
             import java.io.IOException;
             import java.sql.*;

             import net.ucanaccess.jdbc.*;
             import org.apache.poi.ss.usermodel.Row;
             import org.apache.poi.ss.usermodel.Sheet;
             import org.apache.poi.xssf.usermodel.XSSFWorkbook;

             public class MainClass {
             static String strURL = null;
             public MainClass() {
                        }

public static void main(String[] args) {

    String strUserDir = System.getProperty("user.dir");
    String strProjectPath = strUserDir.replaceAll("ActualProject", "");
    String strDataPath = strProjectPath + "Data\\Data.xlsx";
    String TestCaseDescription = null;
    String strTestCaseName = null;


    String TestCaseSheetPath = strProjectPath + "ActualProject\\TestCaseSheet\\TestCaseSheet.mdb";

    //Code to read TestCaseSheet
    try
    {
         Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");


        System.setProperty("DUCANACCESS_HOME","C:/Users/mindurka/
        Downloads/Selenium3.4/UCanAccess-4.0.2-bin/UCanAccess-4.0.2-bin");

         String connURL = "jdbc:ucanaccess://"+TestCaseSheetPath;
         Connection objAccessCon = DriverManager.getConnection(connURL);
         DriverManager.getConnection(connURL1);
         Statement objRS = objAccessCon.createStatement();

    //           String strEnvQuery = "Select * from Env where Use = 'No'";
         String strEnvQuery = "Select * from Env";
         objRS.executeQuery(strEnvQuery);
         ResultSet objEnvRS = objRS.getResultSet();


         while(objEnvRS.next())
         {
             strURL = objEnvRS.getString("URL");
             String strQuery = "Select * from TestCaseSheet where Execute = 'Yes'";
             objRS.execute(strQuery);
             ResultSet RS = objRS.getResultSet();
             if(RS != null)
             {
                 while (RS.next()) 
                {
                     TestCaseDescription = RS.getString("TestCaseDescription");
                     strTestCaseName = RS.getString("TestCaseName");
                     FileInputStream objFIS = new FileInputStream(strDataPath);
                     XSSFWorkbook objDataWB = new XSSFWorkbook(objFIS);
                     Sheet objActiveSheet = objDataWB.getSheet("RegDetails");

                     for(int intRowCounter = 0 ; intRowCounter < objActiveSheet.getLastRowNum(); intRowCounter++)
                     {
                         Row objRow = objActiveSheet.getRow(intRowCounter);
                         for(int intColumnCounter = 0; intColumnCounter < objRow.getLastCellNum(); intColumnCounter++)
                         {
                             System.out.println("Row=="+ intRowCounter + "Column =="+ intColumnCounter);
                         }
                     }

                     objActiveSheet= null;
                     //objRow = null;
                    objRS.close();
                    RS.close();
                    objAccessCon.close();

                }
             }
             else
             {
                 System.out.println("No testcases selected for execution");
             }




        }


    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally{

    }


}

}

Java version: 8 Eclipse version: Neon MS Access version: 2007

Please let me know if any other details are required. Edited comment: Adding the screenshot of the fileMSAccessScreenshot


原文:https://stackoverflow.com/questions/43897194
更新时间:2021-09-07 10:09

最满意答案

我会建议Wx 。 它是为跨平台使用而设计的元工具包,并将使用目标平台上提供的任何底层工具包。


I would suggest Wx. It is a meta-toolkit designed for cross platform usage and will use whatever underlying toolkit is available on your target platform.

相关问答

更多

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。