Ergebnis 1 bis 3 von 3

Thema: Cursor bei JDBC Treiber

  1. #1
    nieselfriem ist offline Neuer Benutzer
    Registriert seit
    22.10.2009
    Beiträge
    3

    Standard Cursor bei JDBC Treiber

    Hallo hat der JDBC Treiber nur den next Cursor oder auch first, prev und last Cursor. Denn ich habe in java ein kleine Programm gechrieben und da funktioniert nur next
    Code:
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class VorZurueck extends Frame {
    	Panel knoepfe = new Panel(new GridLayout(1,4));
    	Button erst = new Button("Erste Zeile"),
    	       prev = new Button("Voherige Zeile"),
    	       next = new Button("Nächste Zeile"),
    	       last = new Button("Letzte Zeile"); 
    	TextField aus = new TextField();
    	Connection c; Statement s; ResultSet r;
    	
    	public VorZurueck() {
    		setLayout(new BorderLayout());
    		add(knoepfe, "North");
    		knoepfe.add(erst); knoepfe.add(prev); knoepfe.add(next); knoepfe.add(last);
    		add(aus,"Center");
    		setSize(400, 250);
    		setVisible(true);
    		erst.addActionListener(new ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    			erster();
    		}});
    		
    		prev.addActionListener(new ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    			vorheriger();
    		}});
    		
    		next.addActionListener(new ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    			naechster();
    		}});
    		
    		last.addActionListener(new ActionListener() {
    		public void actionPerformed(ActionEvent e) {
    			letzter();
    		}});
    		
    		addWindowListener(new WindowAdapter() {
    			public void windowClosing(WindowEvent e) {
    				System.exit(0);	
    			}
    		});
    		
    		try {
    			Class.forName("org.postgresql.Driver");
    			// c = DriverManager.getConnection("jdbc:postgresql://localhost","postgres", "werner80");
    			 c = DriverManager.getConnection( "jdbc:postgresql://localhost/jahb", "postgres", "werner80" );
    			 s = c.createStatement();
    			 r=s.executeQuery("SELECT * FROM jahb.\"alle berufe\"");
    			 erster();
    		}
    		catch (Exception ex) { ex.printStackTrace();}
    	}
    		void erster() {
    			try {
    				r.first(); zeige();
    			}
    			catch (Exception ex) {}
    		}
    		
    		void vorheriger() {
    			try {
    				r.previous(); zeige();
    			}
    			catch (Exception ex) {}
    		}
    		
    		void naechster() {
    			try {
    				r.next(); zeige();
    			}
    			catch (Exception ex) {}
    		}
    		
    		void letzter() {
    			try {
    				r.last(); zeige();
    			}
    			catch (Exception ex) {}
    		}
    		
    		void zeige() throws Exception {
    			aus.setText(r.getString("Berufsbez"));
    		}
    		
    		public static void main(String[] argv) {
    	        new VorZurueck();
    	
    		}
    	
    }
    gruß niesel

  2. #2
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    524

    Standard

    Um einen Cursor zu erhalten bei dem prev() und next() funktioniert, muss man das beim createStatement() entsprechend mit angeben (siehe Connection.createStatement(int, int) )
    Der default ist TYPE_FORWARD_ONLY.

    Mit
    Code:
    stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
    sollte das mit previous(), last() usw dann funktionieren.

    Denk aber daran, dass der Postgres Treiber dann das gesamte ResultSet im Speicher hält.
    Bei großen Tabellen vermutlich keine gute Idee

  3. #3
    nieselfriem ist offline Neuer Benutzer
    Registriert seit
    22.10.2009
    Beiträge
    3

    Standard

    Danke, auch für den Hinweis. Ist nur zum Test und zu wissen was möglich ist.

    gruß

Ähnliche Themen

  1. ubuntu jdbc treiber einbinden
    Von erdmulch im Forum Programmierung
    Antworten: 3
    Letzter Beitrag: 25.09.2011, 19:25
  2. Problem Cursor in verbindung mit SELECT für NEWBIE
    Von patwilly im Forum Allgemeines
    Antworten: 8
    Letzter Beitrag: 11.11.2008, 13:41
  3. Cursor
    Von manfred im Forum SQL
    Antworten: 6
    Letzter Beitrag: 10.08.2008, 21:39
  4. ODBC treiber installation
    Von Zebes im Forum Programmierung
    Antworten: 20
    Letzter Beitrag: 21.11.2007, 10:43
  5. psql-Treiber für Qt
    Von mari im Forum externe Schnittstellen
    Antworten: 1
    Letzter Beitrag: 06.05.2007, 19:19

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum