为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕妹3242003 2021-12-30 15:46:54
我的程序让用户可以控制对 Sqlite 数据库执行任何 CRUD 操作。但是,我的“搜索一辆车”的方法会多次输出查询,直到出现异常,该异常指向返回语句。联系退货声明---------------------以下是我所做的/看过的/尝试过的:While 循环:我试图:“将条件设置为假然后为真”。“用整数设置条件以循环有限的次数”。它们都输出相同的异常。Return 语句:没有其他表达式/变量可以放入 return 语句中。我不知道,因为该方法基于一个类,所以它必须返回该对象类。我做错了什么让它连续循环?
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

在方法中从类创建一个对象并将参数存储在那里。除了添加参数之外,在控制器中执行相同的操作


我在名为(“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();

            }


        }

马克的问题,在我脑海中引发了这个思考过程,谢谢。


查看完整回答
反对 回复 2021-12-30
  • 1 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号