hi!
ich hab ein eigenartiges problem.
wenn ich meinen geschreibenen code mit einem insert into in eine db laufen lasse als "RUN AS" wird nichts in die db geschrieben.
Debuge ich das ganze aber u. mach einen stop wird zeitweise der datensatz in die db geschrieben.
ist es vielleicht möglich dass ich etwas vergessen habe zu schliessen, denn wenn ich meine methode speicher ausführe, u. anschliessend den die db ohne neue connection ausgebe ist der neue datensatz auch inder db.
wenn ich das file neustarte ist es wieder weg.
ich hab ein eigenartiges problem.
wenn ich meinen geschreibenen code mit einem insert into in eine db laufen lasse als "RUN AS" wird nichts in die db geschrieben.
Debuge ich das ganze aber u. mach einen stop wird zeitweise der datensatz in die db geschrieben.
ist es vielleicht möglich dass ich etwas vergessen habe zu schliessen, denn wenn ich meine methode speicher ausführe, u. anschliessend den die db ohne neue connection ausgebe ist der neue datensatz auch inder db.
wenn ich das file neustarte ist es wieder weg.
Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
import org.omg.CORBA.ExceptionList;
import java.util.Iterator;
public class ArtikelDAO extends JPanel {
public static void main (String args[]){
double cheaper = 100.00;
int finde = 3;
Artikel toSave = new Artikel (80,"petermaier", 1500.15);
Connection con = null;
ArrayList ArtListe = new ArrayList();
//Treiber laden
try{
//Treiber laden
Class.forName("org.hsqldb.jdbcDriver");
System.out.println("Treiber erfolgreich geladen");
//Db verbindung aufbauen
con = DriverManager.getConnection( "jdbc:hsqldb:file:I:/MeineHSQLDb", "sa", "" );
System.out.println("Verbindung Aufgebaut");
if(speichern(toSave,con)){
System.out.println("Speicher erfolgreich");
}
else{
System.out.println("\t!!!Problem beim speichern!!!");
}
//Query
PreparedStatement pstmt = con.prepareStatement("SELECT* from ARTIKEL");
ResultSet rs = pstmt.executeQuery();
//Liste mit Db einträgen füllen
while (rs.next()){
Artikel art = new Artikel();
art.setId(rs.getInt("ID"));
art.setBezeichnung(rs.getString("BEZEICHNUNG"));
art.setPreis(rs.getDouble("PREIS"));
ArtListe.add(art);
}
//System.out.println(findebilliger(cheaper,con));
//System.out.println(finde(finde,ArtListe));
System.out.println(ArtListe);
pstmt.close();
rs.close();
con.close();
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}finally{
if(con != null){
try{
con.close();
}catch(SQLException e1){
e1.printStackTrace();
}
}
}
}
/*******************
*Funktion speicher*
*static?? *
*******************/
public static boolean speichern(Artikel toSave, Connection con){
try{
PreparedStatement pstmt4 = con.prepareStatement("INSERT INTO ARTIKEL(ID,BEZEICHNUNG,PREIS)"+
"VALUES(?,?,?)");
pstmt4.setInt(1,toSave.getId());
pstmt4.setString(2,toSave.getBezeichnung());
pstmt4.setDouble(3,toSave.getPreis());
pstmt4.executeUpdate();
pstmt4.close();
}catch(Exception e){
System.out.print(e);
return false;
}
return true;
}
/****************
*Funktion finde*
*static?? *
****************/
public static Object finde(int finde,ArrayList ArtListe){
Iterator i = ArtListe.iterator();
try{
while(i.hasNext()){
Artikel p = (Artikel)i.next();
if(finde == p.getId()){
return p;
}
}
return null;
}
catch(Exception e){
System.err.print(e);
return null;
}
}
/************************
*Funktion findebilliger*
*static?? *
************************/
public static List findebilliger(Double cheaper, Connection con){
try{
PreparedStatement pstmt2 = con.prepareStatement("SELECT* from ARTIKEL WHERE PREIS <= ?");
pstmt2.setDouble(1, cheaper);
ResultSet rs2 = pstmt2.executeQuery();
List ArtListe2 = new ArrayList();
while (rs2.next()){
Artikel art2 = new Artikel();
art2.setId(rs2.getInt("ID"));
art2.setBezeichnung(rs2.getString("BEZEICHNUNG"));
art2.setPreis(rs2.getDouble("PREIS"));
ArtListe2.add(art2);
}
pstmt2.close();
rs2.close();
return ArtListe2;
}catch(Exception e){
System.out.print(e);
}
return null;
}
}