0

I've some problems with my web application. I just want to Get all my activites from my sqlite database.

I tried all that things without success : Java: Missing Database error

The Glassfish console returns :

Infos:   jdbc:sqlite:D:/Mes Documents/ISEN/M1/Projet Technique/Middleware/Projet_Airbus/mydatabase.sqlite
Infos:   org.sqlite.Conn@22fcfffc
Infos:   dans getactivites()
Infos:   org.sqlite.Stmt@55f83bb0
Infos:   erreur
Grave:   java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (no tables specified)

Mydatabase.sqlite is correct

I've added the sqlite-jdbc-3.7.2 on my project

Here is my code :

public class AccessAgenda {
    public ArrayList<Activite> getActivites() throws Exception {
        ArrayList<Activite> activitelist = new ArrayList<Activite>();
        ActiviteBD db = new ActiviteBD();
        Connection con = db.getConnection();
        System.out.println(con);
        System.out.println("dans getactivites()");
        activitelist = getActivites(con);
        return activitelist;
    }

        public ArrayList<Activite> getActivites(Connection con) throws SQLException {
        ArrayList<Activite> activitelist = new ArrayList<Activite>();
        Statement stmt = con.createStatement();
        System.out.println(stmt);
        ResultSet rs = stmt.executeQuery("SELECT *;");
        System.out.println(rs);
        try {
            while (rs.next()) {
                System.out.println("entrée2");
                Activite activiteobj = new Activite();
                activiteobj.setJour(rs.getInt("jour"));
                activiteobj.setMois(rs.getInt("mois"));
                activiteobj.setAnnee(rs.getInt("annee"));
                activiteobj.setBut(rs.getString("but"));
                activiteobj.setpart_journee(rs.getInt("part_journee"));
                activiteobj.setLieu(rs.getString("lieu"));
                activitelist.add(activiteobj);
            }
            rs.close();
            stmt.close();
            con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return activitelist;

    }
}

Resource class :

@Path("/donnees")
public class Resource
{
//    Connection con=null;

//Just returns <activites/> in my browser
    @Path("/agendas")
    @GET
    @Produces("application/xml")
    public ArrayList<Activite> getActivite()
    {
        ArrayList<Activite> activitelist = new ArrayList<Activite>();
        try
        {
            System.out.println("entrée");
            activitelist = new AccessAgenda().getActivites();

        } catch (Exception e)
        {
            System.out.println("erreur");
            e.printStackTrace();
        }
        return activitelist;
    }
}

The last one :

public class ActiviteBD { 

    Connection connection = null;

    public Connection getConnection() throws Exception {
        try {
            String connectionURL = "jdbc:sqlite:mydatabase.sqlite";
            Class.forName("org.sqlite.JDBC");
            connection = DriverManager.getConnection("jdbc:sqlite:mydatabase.sqlite");
            System.out.println(connectionURL);
            return connection;
        } catch (Exception e) {
            throw e;

        }

    }

}

I work with Netbeans 8.0.2

Thanks for all ideas...

Community
  • 1
  • 1
robinwood13
  • 179
  • 1
  • 1
  • 8

1 Answers1

0
@Path("/donnees")
public class Resource
{
//    Connection con=null;


    @Path("/agendas")
    @GET
    @Produces("application/xml")
    public ArrayList<Activite> getActivite()
    {
        ArrayList<Activite> activitelist = new ArrayList<Activite>();
        try
        {
            System.out.println("entrée");
            activitelist = new AccessAgenda().getActivites();

        } catch (Exception e)
        {
            System.out.println("erreur");
            e.printStackTrace();
        }
        return activitelist;
    }

Access

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;



import org.sqlite.*;
import java.util.ArrayList;
import java.util.List;


public class AccessAgenda {
    public ArrayList<Activite> getActivites() throws Exception {
        ArrayList<Activite> activitelist = new ArrayList<Activite>();
        ActiviteBD db = new ActiviteBD();
        Connection con = db.getConnection();
        System.out.println(con);
        System.out.println("dans getactivites()");
        activitelist = getActivites(con);
        return activitelist;
    }

        public ArrayList<Activite> getActivites(Connection con) throws SQLException {
        ArrayList<Activite> activitelist = new ArrayList<Activite>();
        PreparedStatement stmt = con.prepareStatement("SELECT * FROM activite;");
        System.out.println(stmt);
        ResultSet rs = stmt.executeQuery();
        System.out.println(rs);

            while (rs.next()) {
                System.out.println("entrée2");
                Activite activiteobj = new Activite();
                activiteobj.setJour(rs.getInt("jour"));
                activiteobj.setMois(rs.getInt("mois"));
                activiteobj.setAnnee(rs.getInt("annee"));
                activiteobj.setBut(rs.getString("but"));
                activiteobj.setpart_journee(rs.getInt("part_journee"));
                activiteobj.setLieu(rs.getString("lieu"));
                activitelist.add(activiteobj);
            }
            rs.close();
            stmt.close();
            con.close();

        return activitelist;

    }


}

DB :

public class ActiviteBD { 

    Connection connection = null;

    public Connection getConnection() throws Exception {
        try {
            Class.forName("org.sqlite.JDBC");
            connection = DriverManager.getConnection("jdbc:sqlite:D:\\THEPATH\\Project\\agenda.db");
            System.out.println(connectionURL);
            return connection;
        } catch (Exception e) {
            throw e;

        }

    }
robinwood13
  • 179
  • 1
  • 1
  • 8