Avatar billede nielyng Nybegynder
10. december 2002 - 12:46 Der er 13 kommentarer og
1 løsning

ResultSet igen igen, igen.. aaargh!

Heysan!

Stort problem:

Jeg har en klasse, som får smidt et ResultSet med fra en sql-forespørgsel. Det er sådan set fint nok.
Jeg ved, at rs kun indeholder 1 post, for jeg har søgt på et unikt nummer..

Men når jeg så vil tilgå værdierne f.eks:

rs.getString ( 2 )

så får jeg at vide (via try-catch) at:

[Microsoft][ODBC Driver Manager] Invalid cursor state

Jeg kan vie ResultSetMetaData finde ud af, at den godt kan læse data om recordsettet så som, hvilke kolonnenavne den har osv...

hvad har jeg overset? Og hvordan løser jeg det?

Heeeeeeeelp!

/Nilez
Avatar billede hsg Nybegynder
10. december 2002 - 12:48 #1
Selvom der kun er 1 række i dit resultset
så skal du lave en rs.next() først.
Avatar billede di8leva Nybegynder
10. december 2002 - 12:48 #2
lytter med...
Avatar billede arne_v Ekspert
10. december 2002 - 12:52 #3
Returnerer rs.next() true ?
Avatar billede nielyng Nybegynder
10. december 2002 - 12:58 #4
hmmm... hvis jeg prøver med en rs.next(); så siger den ResultSet is type forward only... men next - det lyder da rimelig meget som fremad..
Avatar billede nielyng Nybegynder
10. december 2002 - 12:59 #5
ignorer det...jeg kaldte en rs.first() et andet sted..
Avatar billede nielyng Nybegynder
10. december 2002 - 13:01 #6
rs.next() returnerer false
Avatar billede arne_v Ekspert
10. december 2002 - 13:01 #7
Hvad returner rs.first() ?

true, så skal der være noget at rs.getX()'e

false, så er det helt som forventet at du får en fejl
(fordi der ikke er nogen rækker i result set)
Avatar billede hsg Nybegynder
10. december 2002 - 13:02 #8
som arne også er inde på, så check din rs.next():

if (rs.next()) {
gør noget
} else {
findes ikke
}
Avatar billede nielyng Nybegynder
10. december 2002 - 13:03 #9
for f*nden hvor det kører for mig... rs.next() returnerer en true-værdi når jeg kalder udskriver den i starten af min kode..
Avatar billede nielyng Nybegynder
10. december 2002 - 13:05 #10
det må være nemmere, hvis I får noget kode at kigge på..


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import java.sql.*;
/**
* <p>Title: JournalVindue</p>
* <p>Description:Viser en Journal ud fra et ResultSet </p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: Fastlane Multimedia</p>
* @author Nilez
* @version 1.0
*/
public class JournalVindue extends VindueSkabelon{
 
  /** Her erklærer vi alle elementerne som indgår i menuen
  *  Bagefter følger indholdet til det Scrollpane,
  *  som skal udgøre selve indholdet i Journalvisning.
  */
  private JScrollPane indholdScrollPane;
  private JPanel indholdPanel;
 

 
 
  //Næste Labels skal omdøbes!!
  public JTextField loennummerText = new JTextField();
  public JComboBox antalminCombo = new JComboBox();

  private JLabel AONRLabel = new JLabel();
  private JLabel tidsforbrugLabel = new JLabel();
  private JLabel faseLabel = new JLabel();
  private JLabel datoEksLabel = new JLabel();
  private JLabel kategoriLabel = new JLabel();
  private JButton importerKnap = new JButton();
  private JLabel prisLabel = new JLabel();
  private JButton gemJournalKnap = new JButton();
  private JLabel fremmoedeLabel = new JLabel();
  private JLabel opfoelgningLabel = new JLabel();
 
  //3 Labels, der står Årsag: på og tilhøredne EditorPanes
 
  public JEditorPane afbudAarsag = new JEditorPane();
  public JEditorPane opfoelgningAarsag = new JEditorPane();
  public JEditorPane fremmoedeAarsag = new JEditorPane();
 
  private JLabel AarsagLabel1 = new JLabel();
  private JLabel AarsagLabel2 = new JLabel();
  private JLabel AarsagLabel3 = new JLabel();
  private JLabel AfbudLabel1 = new JLabel();
 
  //Scroll til editorpanes
  public JScrollPane forloebScrollPane = new JScrollPane();
  private JScrollPane sygdomScrollpane = new JScrollPane();
 
  //EditorPanes
 
  public JTextArea sygdomshistorieText = new JTextArea();
  public JTextArea forloebText= new JTextArea();
 
  //Kategoriknapper*****
 
  public JRadioButton KategoriAKnap = new JRadioButton();
  public JRadioButton KategoriBKnap = new JRadioButton();
  public JRadioButton KategoriCKnap = new JRadioButton();
  public ButtonGroup Kategoriknapper = new ButtonGroup();
 
 
  //EffektKnapper*****
 
  public ButtonGroup EffektKnapper = new ButtonGroup();
  public JRadioButton IngenBedringKnap = new JRadioButton();
  public JRadioButton ForværringKnap = new JRadioButton();
  public JRadioButton BedringKnap = new JRadioButton();
 
  //******************
 
  //FaseKnapper********
  public ButtonGroup FaseKnapper = new ButtonGroup();
  public JRadioButton faseForebyggelseKnap = new JRadioButton();
  public JRadioButton faseNedtrapningKnap = new JRadioButton();
  public JRadioButton faseOpstartKnap = new JRadioButton();
 
  //**************
 
  //BetalingsKnapper**********
  public ButtonGroup BetalingsKnapper = new ButtonGroup();
  public JRadioButton Gavekortknap = new JRadioButton();
  public JRadioButton AONRKnap = new JRadioButton();
  public JRadioButton BetalerSelvKnap = new JRadioButton();
 
  //******************
 
  //ALLE HERUNDER SKAL OMDØBES!!
  private JLabel arkivHeaderLabel = new JLabel();
  private JLabel loenNummerLabel = new JLabel();
  private JLabel navnLabel = new JLabel();
  private JLabel initialLabel = new JLabel();
  private JLabel efternavnLabel = new JLabel();
  private JLabel sygdomshistorieLabel = new JLabel();
  private JLabel datoLabel = new JLabel();
  private JLabel effektLabel = new JLabel();
  public JTextField afbudText = new JTextField();
  public JTextField navnText = new JTextField();
  public JTextField initialText = new JTextField();
  public JTextField efternavnText = new JTextField();
  public JTextField AOText = new JTextField();
  public JTextField mangelfremmødeText = new JTextField();
  public JTextField mangelrådText = new JTextField();
  public JTextField datoText = new JTextField();
  public JTextField prisText = new JTextField();
 

 
  //ER DER EN LIDELSELABEL HVOR??
 
  private JLabel LidelseLabel = new JLabel();
 
 
  private Main main;
 
 
 
  /** Her begynder erklæringen af knapper og menuer,
  *  som skal indgå i vinduet
  */

  private TitledBorder titledBorder1;
  private ResultSet rs;
 
  //************************
 
 
 
    /**
    * Constructor for objects of class JournalVindue
    */
    public JournalVindue(ResultSet rs)
    {
  try{
  System.out.println(rs.next());
  rs.next();
  System.out.println(rs.getString( 2 ));
    }
    catch(SQLException e){
        System.err.println("Fejl ved forsøg på at flytte til første post i Resultset: "+e.getMessage());
        }
    //*****Indholdspanel
    Container contentPane = getContentPane();
    indholdPanel = new JPanel();
    indholdPanel.setPreferredSize(new Dimension(640, 903));
 
    indholdScrollPane = new JScrollPane(indholdPanel);
    indholdScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    indholdScrollPane.setPreferredSize(new Dimension(250, 250));

    //*************
     
    //**********************Vinduet med menuer og knapper 
    this.setBounds(250, 0, 650, 800);
    this.setTitle("Klient Journal Statistik System");
   
 
   
   
    //***************Indoldsting, textfelter, knapper osv..
   
    faseForebyggelseKnap.setBackground(new Color(247, 217, 124));
    faseForebyggelseKnap.setText("Forebyggelse");
    faseForebyggelseKnap.setBounds(new Rectangle(520, 221, 102, 24));
   
    faseOpstartKnap.setBackground(new Color(247, 217, 124));
    faseOpstartKnap.setText("Opstart");
    faseOpstartKnap.setSelected(true);
    faseOpstartKnap.setBounds(new Rectangle(519, 166, 102, 24));
   
    faseNedtrapningKnap.setBounds(new Rectangle(520, 193, 102, 24));
    faseNedtrapningKnap.setText("Nedtrapning");
    faseNedtrapningKnap.setBackground(new Color(247, 217, 124));
   
    fremmoedeAarsag.setBounds(new Rectangle(334, 378, 111, 43));
    fremmoedeAarsag.setBorder(titledBorder1);
   
    AONRKnap.setBounds(new Rectangle(181, 733, 127, 25));
    AONRKnap.setText("Trækkes fra AONR");
    AONRKnap.setBackground(new Color(247, 217, 127));
   
    BetalerSelvKnap.setBounds(new Rectangle(186, 754, 103, 25));
    BetalerSelvKnap.setText("Betaler selv");
    BetalerSelvKnap.setBackground(new Color(247, 217, 127));
   
    AfbudLabel1.setText("Afbud: ");
    AfbudLabel1.setBounds(new Rectangle(173, 334, 42, 22));
    AOText.setBounds(new Rectangle(89, 67, 37, 24));
    //AOText.setText("TIIIIIS");
   
    antalminCombo.setBounds(new Rectangle(16, 706, 125, 21));
    antalminCombo.setEditable(true);
    antalminCombo.addItem("10");
    antalminCombo.addItem("15");
    antalminCombo.addItem("20");
    antalminCombo.addItem("25");
    antalminCombo.addItem("30");
   
    AONRLabel.setText("AONR:");
    AONRLabel.setBounds(new Rectangle(87, 44, 48, 17));
    tidsforbrugLabel.setBounds(new Rectangle(18, 679, 106, 30));
    tidsforbrugLabel.setText("Tidsforbrug i dag: ");
    faseLabel.setText("Fase: ");
    faseLabel.setBounds(new Rectangle(517, 137, 108, 25));
    datoEksLabel.setText("eks: 11/02");
    datoEksLabel.setBounds(new Rectangle(90, 643, 66, 24));
    kategoriLabel.setText("Kategori:");
    kategoriLabel.setBounds(new Rectangle(454, 42, 110, 29));
   
    importerKnap.setBounds(new Rectangle(12, 330, 136, 31));
    importerKnap.setText("Importér fra txt-fil");
    /**
    * Her lægges der actionlistener på importknappen:
    */ 
    importerKnap.addActionListener(new java.awt.event.ActionListener(){
    public void actionPerformed(ActionEvent j) { importerknapActionperformed(j); }
      });
   
    gemJournalKnap.setBounds(new Rectangle(490, 787, 121, 31));
    gemJournalKnap.setText("Gem journal");
    /**
    * Her lægges der actionlistener på gemknappen:
    */ 
    gemJournalKnap.addActionListener(new java.awt.event.ActionListener(){
    public void actionPerformed(ActionEvent j) { gemJournalKnapActionperformed(j); }
      });
     
    prisLabel.setText("Pris:");
    prisLabel.setBounds(new Rectangle(157, 687, 48, 17));
    fremmoedeLabel.setText("Manglende fremmøde:");
    fremmoedeLabel.setBounds(new Rectangle(265, 337, 146, 17));
    AarsagLabel1.setText("Årsag: ");
    AarsagLabel1.setBounds(new Rectangle(169, 361, 48, 17));
    AarsagLabel2.setBounds(new Rectangle(337, 361, 48, 17));
    AarsagLabel2.setText("Årsag: ");
    opfoelgningLabel.setBounds(new Rectangle(430, 337, 170, 17));
    opfoelgningLabel.setText("Manglende opfølgning på råd:");
    AarsagLabel3.setText("Årsag: ");
    AarsagLabel3.setBounds(new Rectangle(488, 366, 48, 17));
   
    sygdomshistorieText.setVisible(true);
    sygdomshistorieText.setEditable(true);
    sygdomshistorieText.setLineWrap(true);
    sygdomshistorieText.setWrapStyleWord(true);
    sygdomshistorieText.setText("Sygdomshistorie");
    forloebText.setText("forløb:");
    forloebText.setVisible(true);
    forloebText.setEditable(true); 
    forloebText.setLineWrap(true);
    forloebText.setWrapStyleWord(true);
    //forloebText.setEditorKit(null);
   
    ForværringKnap.setBounds(new Rectangle(343, 515, 103, 25));
    ForværringKnap.setText("Forværring");
    ForværringKnap.setBackground(new Color(247, 217, 124));
   
    Gavekortknap.setBackground(new Color(247, 217, 127));
    Gavekortknap.setText("Gavekort");
    Gavekortknap.setBounds(new Rectangle(178, 712, 103, 25));
   
    BedringKnap.setBackground(new Color(247, 217, 124));
    BedringKnap.setSelected(true);
    BedringKnap.setText("Bedring");
    BedringKnap.setBounds(new Rectangle(345, 470, 103, 25));
   
    IngenBedringKnap.setBackground(new Color(247, 217, 124));
    IngenBedringKnap.setText("Ingen bedring");
    IngenBedringKnap.setBounds(new Rectangle(344, 491, 103, 25));
   
    KategoriAKnap.setBackground(new Color(247, 217, 124));
    KategoriAKnap.setSelected(true);
    KategoriAKnap.setText("A");
    KategoriAKnap.setBounds(new Rectangle(462, 76, 41, 16));
   
    KategoriBKnap.setBounds(new Rectangle(504, 76, 39, 16));
    KategoriBKnap.setBackground(new Color(247, 217, 124));
    KategoriBKnap.setText("B");
   
    KategoriCKnap.setBounds(new Rectangle(545, 76, 41, 16));
    KategoriCKnap.setBackground(new Color(247, 217, 124));
    KategoriCKnap.setText("C");
   
    afbudAarsag.setBorder(titledBorder1);
    afbudAarsag.setBounds(new Rectangle(166, 376, 111, 43));
   
    arkivHeaderLabel.setIcon(new ImageIcon(Main.class.getResource("JournalHeader.gif")));
    arkivHeaderLabel.setBounds(new Rectangle(-1, 0, 675, 40));
    loenNummerLabel.setText("Lønnummer:");
    loenNummerLabel.setBounds(new Rectangle(8, 41, 82, 25));
    opfoelgningAarsag.setBounds(new Rectangle(484, 381, 111, 43));
    opfoelgningAarsag.setBorder(titledBorder1);
    navnLabel.setText("Navn: ");
    navnLabel.setBounds(new Rectangle(157, 41, 112, 27));
    initialLabel.setText("Initialer:");
    initialLabel.setBounds(new Rectangle(248, 39, 98, 28));
    efternavnLabel.setText("Efternavn:");
    efternavnLabel.setBounds(new Rectangle(320, 37, 99, 32));
    sygdomshistorieLabel.setText("Sygdomshistorie:");
    sygdomshistorieLabel.setBounds(new Rectangle(4, 108, 203, 30));
    LidelseLabel.setText("Lidelser: ");
    LidelseLabel.setBounds(new Rectangle(10, 413, 144, 32));
    datoLabel.setText("Dato:");
    datoLabel.setBounds(new Rectangle(19, 625, 41, 17));
    effektLabel.setText("Behandlingsforløbets effekt:");
    effektLabel.setBounds(new Rectangle(343, 443, 245, 30));
    afbudText.setText("0");
    afbudText.setBounds(new Rectangle(215, 336, 20, 20));
   
    //navnText.setText("Kristoffer");
    navnText.setBounds(new Rectangle(156, 66, 84, 27));
   
    //initialText.setText("KB");
    initialText.setBounds(new Rectangle(262, 67, 24, 26));
   
    //efternavnText.setText("Bundgaard");
    efternavnText.setBounds(new Rectangle(320, 66, 105, 27));
 
 
 
  //****** Hvordan f* får vi fat i den integer og smidt den ind... aaargh.. det er tæt på... must sleep!
  //
 
 
  //*********
    //System.out.println(rs.getInt(1));
    //System.out.println(rs.getInt("L_Nummer"));
    //loennummerText.setText(String.valueOf(rs.getInt( 1 )));
    loennummerText.setBounds(new Rectangle(10, 67, 57, 24));
    //*********************************forsøger lige at udskrive kolonnenavnene:
  try {
 
  ResultSetMetaData rsmd = rs.getMetaData();
  int antalKolonner = rsmd.getColumnCount();
  String kolonneNavne[ ] = new String[antalKolonner];
//udskriv kolonnernes navne:
for(int i=1;i<=antalKolonner;i++) //bemærk at der startes fra 1
{
kolonneNavne[i-1] = rsmd.getColumnName(i);
System.out.print(kolonneNavne[i-1]+", ");
}
}
catch(SQLException e){
        System.err.println("Fejl ved forsøg på at bruge resultsettet til metadata: "+e.getMessage());
        }
   

   
    try {
    System.out.println(rs.next());
    rs.next();
   
    int recordNumber = rs.getInt( 1 );
    navnText.setText(rs.getString( 2 ));
    }
    catch(SQLException e){
        System.err.println("Fejl ved brug af ResultSet: "+e.getMessage());
        }
 
  // ************************************************************************************************************************
    mangelfremmødeText.setText("0");
    mangelfremmødeText.setBounds(new Rectangle(398, 335, 18, 20));
    mangelrådText.setBounds(new Rectangle(596, 332, 18, 20));
    mangelrådText.setText("0");
    datoText.setText("Måned/år");
    datoText.setBounds(new Rectangle(19, 641, 68, 25));
    prisText.setBounds(new Rectangle(198, 686, 49, 22));
   
    BetalingsKnapper.add(Gavekortknap);
    BetalingsKnapper.add(AONRKnap);
    BetalingsKnapper.add(BetalerSelvKnap);
    EffektKnapper.add(BedringKnap);
    EffektKnapper.add(IngenBedringKnap);
    EffektKnapper.add(ForværringKnap);
    Kategoriknapper.add(KategoriAKnap);
    Kategoriknapper.add(KategoriBKnap);
    Kategoriknapper.add(KategoriCKnap);
    FaseKnapper.add(faseForebyggelseKnap);
    FaseKnapper.add(faseNedtrapningKnap);
    FaseKnapper.add(faseOpstartKnap);
 
    forloebScrollPane = new JScrollPane(forloebText);
    sygdomScrollpane = new JScrollPane(sygdomshistorieText);
       
    forloebScrollPane.setBounds(new Rectangle(9, 445, 311, 138));
    sygdomScrollpane.setBounds(new Rectangle(5, 134, 501, 185));
   
    forloebScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    sygdomScrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    forloebScrollPane.setPreferredSize(new Dimension(300, 100));
    sygdomScrollpane.setPreferredSize(new Dimension(400, 100));
   
    //**Kunne sikkert sagtens soreteres yderligere!!!
   
    //*********************
    indholdPanel.add(sygdomScrollpane);
    indholdPanel.add(forloebScrollPane);
   
    indholdPanel.setBackground(new Color(247, 217, 124));
    indholdPanel.setLayout(null);
   
    //*************ALt tilføjes indholdsPanel:
   
    indholdPanel.add(arkivHeaderLabel, null);
    indholdPanel.add(loennummerText, null);
    indholdPanel.add(sygdomshistorieLabel, null);
    indholdPanel.add(initialLabel, null);
    indholdPanel.add(importerKnap, null);
   
   
    indholdPanel.add(efternavnText, null);
    indholdPanel.add(efternavnLabel, null);
    indholdPanel.add(kategoriLabel, null);
    indholdPanel.add(KategoriAKnap, null);
    indholdPanel.add(KategoriBKnap, null);
    indholdPanel.add(KategoriCKnap, null);
    indholdPanel.add(faseLabel, null);
    indholdPanel.add(faseOpstartKnap, null);
    indholdPanel.add(faseNedtrapningKnap, null);
    indholdPanel.add(faseForebyggelseKnap, null);
    indholdPanel.add(AfbudLabel1, null);
    indholdPanel.add(afbudText, null);
    indholdPanel.add(fremmoedeLabel, null);
    indholdPanel.add(mangelfremmødeText, null);
    indholdPanel.add(AarsagLabel1, null);
    indholdPanel.add(AarsagLabel2, null);
    indholdPanel.add(opfoelgningLabel, null);
    indholdPanel.add(mangelrådText, null);
    indholdPanel.add(AarsagLabel3, null);
    indholdPanel.add(LidelseLabel, null);
    indholdPanel.add(afbudAarsag, null);
    indholdPanel.add(fremmoedeAarsag, null);
    indholdPanel.add(opfoelgningAarsag, null);
    indholdPanel.add(effektLabel, null);
    indholdPanel.add(BedringKnap, null);
    indholdPanel.add(IngenBedringKnap, null);
    indholdPanel.add(ForværringKnap, null);
    indholdPanel.add(datoLabel, null);
    indholdPanel.add(datoText, null);
    indholdPanel.add(datoEksLabel, null);
    indholdPanel.add(tidsforbrugLabel, null);
    indholdPanel.add(antalminCombo, null);
    indholdPanel.add(gemJournalKnap, null);
    indholdPanel.add(prisText, null);
    indholdPanel.add(prisLabel, null);
    indholdPanel.add(Gavekortknap, null);
    indholdPanel.add(initialText, null);
    indholdPanel.add(loenNummerLabel, null);
    indholdPanel.add(AONRLabel, null);
    indholdPanel.add(AOText, null);
    indholdPanel.add(navnText, null);
    indholdPanel.add(navnLabel, null);
    indholdPanel.add(AONRKnap, null);
    indholdPanel.add(BetalerSelvKnap, null);
   
    //her lægges det hele ind i vinduet!!
    contentPane.add(indholdScrollPane, BorderLayout.CENTER);
    }
    //}
    /**
    * Metoder herefter:
    */
   
    /**
      * Denne metode henter en textfil med JFileChooser.
      * Den sættes ind i sygdomshistorie.
      */
   
    public void InsertText(){
        try{
            JFileChooser chooser = new JFileChooser();
            int tmp = chooser.showOpenDialog( null); //igen den mystiske tmp variabel som ofres på javaalteret!!
            File file = chooser.getSelectedFile();
            if (file !=null) {
                FileReader inReader;
                BufferedReader bReader;
                inReader = new FileReader(file);
                bReader = new BufferedReader(inReader);
                String inStr = bReader.readLine();
                String str = sygdomshistorieText.getText();
                while (inStr != null) {
                    str = str + "\n" + inStr;
                    inStr = bReader.readLine();
                }
                sygdomshistorieText.setText(str);
                bReader.close();
                }
                }
                catch (FileNotFoundException e){
                System.out.println("Filen kan ikke indlæses");
                }
                catch (IOException e) {
                System.out.println("Filen kan ikke indlæses");
        }
    }
   
    //DEn er sateme lang den her klasse.. Her er alle addActionlisteners forsøgt samlet: 
 

    public void importerknapActionperformed(ActionEvent j){
   
              InsertText();
              }     
    public void gemJournalKnapActionperformed(ActionEvent j){
       
            //Her skal gemJournal-metoden kaldes!!!
            System.out.println("Dette er gemJournalKnappen, der skal blot lægges metode på");
            //funktioner.gemJournal(this);
            //ovenstående metode skal laves om, så den kalder opdaterJournal(this) i stedet!
            main = new Main("  Du har nu gemt din journal, vælg en ny funktion eller afslut programmet ");
            //funktioner = new Funktioner();
           
            this.dispose();   
            }
       
       
  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      //FindJournal_actionPerformed(null);
    }
  }
}

lang, rodet og irriterende kode
Avatar billede arne_v Ekspert
10. december 2002 - 13:07 #11
Det her går næppe:

System.out.println(rs.next());
rs.next();
   
Du flytter til første record og udskriver resultatet
af dette og så flytter du til næste record igen.

Du mener formentlig:

boolean sts = rs.next();
System.out.println(sts);
Avatar billede nielyng Nybegynder
10. december 2002 - 13:18 #12
jeg har nu fundet ud af at hive en tekst ud i mit terminalvindue ved at skrive System.out.println(rs.getString ( 5 ) meget tidligt i koden:

  public JournalVindue(ResultSet rs)
    {
  try{
  boolean sts = rs.next();
  System.out.println(sts);
 
  System.out.println(rs.getString( 5 ));
    }

gad vide om jeg skulle prøve at søge på rs.next() og se om jeg flytter den igen længere nede i klassen... så er det jo ihvertfald logisk..

Jeg vil undskylde, at jeg belemrer jer med sådan en uoverskuelig kode..
Avatar billede arne_v Ekspert
10. december 2002 - 13:24 #13
Ja du har rs.next() kald to steder i koden.

Det andet sted er mange linier neden under - der hvor
du også kiger på metadata.
Avatar billede nielyng Nybegynder
10. december 2002 - 13:42 #14
1000 tak for kyndig hjælp og vejledning. Arne, jeg tildeler pointene til dig, da du var hurtigst med rs.next()-tingen.. det er vist retfærdigt, syns jeg, da det var det der var galt!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester