Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: ResultSet:tiä taulukkoon, miten?

Tommo [09.08.2005 14:49:27]

#

Moi!
Yritän ResultSet -oliosta saada taulukkoon kamaa, mutta mikä on kun ei onnistu? Tossa tota koodia:

import java.sql.*;


public class Tauluesim{
 public static void main(String[] args){


 String[] data=new String[10];

		 try{
	  	Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/database01");

        Statement stmt=conn.createStatement();

		ResultSet rs= stmt.executeQuery("SELECT * FROM AUTOT");


		 int i=0;
	while(rs.next() ){


		data[i]=rs.getString("merkki"); // TAULUKKOON EI ILMEISESTI MENE MITÄÄN
		i++;

		System.out.println(rs.getString("merkki")); // TÄMÄ KUITENKIN TULOSTELEE

	}


   		System.out.println(data.length);

   }catch(Exception e){}

  }
 }

Eli niinkuin tuolla kommentoidaankin toi tulostuslause tulostaa ihan onnistuneesti, mutta taulukkoon ei mee mitään. Ja ilmeisesti tossa tapahtuu joku exceptionikin. Oon tätä jo jonkun aikaa ihmetellyt, mutta en mä keksi mitään.

Sami [09.08.2005 18:25:42]

#

Tuolla sen kyllä pitäisi mennä sinne taulukkoon. Aivan ensiksi kuitenkin kannattaa tarkastaa kuinka monta riviä rs sisältää, sillä jos se sisältää yli 10 riviä, niin tulee IndexOutOfBoundsException, koska data-taulukon koon olet asettanut kiinteäksi.

Jos vika ei kuitenkaan ole tässä, niin kannattaa kokeilla selvittää aiheutunutta virhettä lisäämällä catch-lohkoon ainakin seuraavat rivit, jotta näkisit mikä virhe tapahtuu ja missä:
System.out.println(e.getMessage());
e.printStackTrace();

Tommo [10.08.2005 10:36:58]

#

No niinpä tietysti. Kyse oli siis siitä taulukon alustamisesta. Enpä minä tajunnut sitä edes epäillä. Kiitos kovasti!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta