JDBC SQLite:检索操作 - 循环而不停止?

我的程序让用户可以控制对 Sqlite 数据库执行任何 CRUD 操作。

但是,我的“搜索一辆车”的方法会多次输出查询,直到出现异常,该异常指向返回语句。

联系

http://img4.mukewang.com/61cd64170001412306090097.jpg

退货声明

http://img.mukewang.com/61cd64230001a8dd04440269.jpg

---------------------以下是我所做的/看过的/尝试过的:

  1. While 循环:我试图:“将条件设置为假然后为真”。
    “用整数设置条件以循环有限的次数”。它们都输出相同的异常。

  2. Return 语句:没有其他表达式/变量可以放入 return 语句中。我不知道,因为该方法基于一个类,所以它必须返回该对象类。

我做错了什么让它连续循环?


慕妹3242003
浏览 146回答 1
1回答

富国沪深

在方法中从类创建一个对象并将参数存储在那里。除了添加参数之外,在控制器中执行相同的操作我在名为(“Casual cass=null”)的casual 类型的方法中创建了一个对象。它首先设置为 null,因为它不会立即使用。然后,在“while 循环”中,它被“new Casual(id, firstname, lastname,adress)”覆盖,这次包含参数。在控制器中,我创建了另一个“Casual”对象,这次包含了casualDao.getCasual(1)。1 代表查询中的特定 id。public Casual getCasual(int c) throws SQLException{    Connection dbConnection=null;    Statement statement=null;    ResultSet result= null;    Casual cass=null;    String query="Select * from casual WHERE id="+c+";";    try{        dbConnection=getDBConnection();        statement= dbConnection.createStatement();        System.out.println(query);        result=statement.executeQuery(query);       // Boolean test=result.next();        while(result.next()){                      int id =result.getInt("id");                      String first_name =result.getString("first_name");                      String last_name=result.getString("last_name");                      String adress =result.getString("adress");                      cass= new Casual(id,first_name,last_name,adress);                      System.out.println(cass);控制器:import java.util.Scanner;import java.sql.SQLException;import java.util.ArrayList;public class Control {    public static void main(String[] args) {        CasualDAO case= new CasualDAO();        Casual cass=null;        Scanner in= new Scanner(System.in);        System.out.println("Crud Operations");        System.out.println( "Enter operation");         System.out.println("Search = 1 "+"Insert = 2 "+"Delete = 3 "+"Update = 4 ");        String operation=in.next();        if(operation.equals("1")){            try{            cass=case.getCasual(1);            }catch(SQLException e){             e.printStackTrace();            }        }马克的问题,在我脑海中引发了这个思考过程,谢谢。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java