Avatar billede tmo Nybegynder
21. maj 2001 - 12:44 Der er 9 kommentarer og
1 løsning

ResultSet igen!!!

Er det muligt at serialisere et resultset? da jeg har applet, som via en servlet, kalder en db-klasse som tilgår en db. Min applet skal herefter kunne modtage  et ResultSet objekt.
Avatar billede disky Nybegynder
21. maj 2001 - 12:46 #1
du skal stadigvæk forklare hvad dit problem er.

For at gøre det du skriver, er der ingen grund til at serialize
Avatar billede kresten Nybegynder
21. maj 2001 - 12:47 #2
Du kunne måske lave det sådan at din Servlet laver noget XML som din applet så kan tilgå.

Men jeg er ikke helt med på hvad du mener med \"en db-klasse\".
Avatar billede disky Nybegynder
21. maj 2001 - 12:51 #3
ud fra hvad du har skrevet i http://www.eksperten.dk/spm/74494

Skal du bare lave en URL connection fra applet til servlet, og bruge denne til at sende/modtage data over.
Avatar billede logical Nybegynder
21. maj 2001 - 12:51 #4
Dit ResultSet er et interface, som beskriver en struktur i de underliggende database klasser, som sikkert i dit tilfælde er ligegyldigt. Eller sagt på en anden måde. Alt hvad der ellers ligger i din specifikke ResultSet klasse (som f.eks. OracleResultSet) har du ingen grund til at sende over et netværk, kun dine data.


Det du nok bør gøre, er at aflæse data ind i en datastruktur, og så flytte den over til din applet.

En passende datastruktur kunne f.eks. være et Object[][], hvis dit indhold ikke er kendt, eller du kan indkapsle i din egen implementering af et ResultSet (Men så er der så frygtelig mange metoder, der skal impl.).

Om 5 minutter kan jeg vise dig et eksempel (skal lige skrive det først)
Avatar billede disky Nybegynder
21. maj 2001 - 12:52 #5
eller endnu bedre lad din servlet behandle din data og sende resultatet til applet\'en

Fordelen er at den applet folk skal loade bliver mindre osv.
Avatar billede tmo Nybegynder
21. maj 2001 - 12:53 #6
db-klasssen er en pool af connections til at tilgå min DB.

Jeg roder lidt videre med min kode og skriver tilbage, med lidt kode eksempler, ok? 
Avatar billede tmo Nybegynder
21. maj 2001 - 12:55 #7
logical: Fedt
Avatar billede logical Nybegynder
21. maj 2001 - 13:00 #8
Her \"Wrapper\" jeg indhold af et ResultSet ind i en klasse, som er Serializable

På den anden side, skal man bare så bare udlæse data, og har så et Object[][] med indholdet.

Bemærk jeg har ikke optimeret i forhold til store datamængder etc, det er udelukkende en herognu løsning.



public class MyData implements java.io.Serializable {
    private Object[][] data;

    public MyData(ResultSet rs) {
        ResultSetMetaData rsmd = rs.getMetaData();
        int cols = rsmd.getColumnCount();
        ArrayList al = new ArrayList();
        while(rs.next()) {
            Object[] line = new Objecct[cols];
            for (int i = 0 ; i < cols ; i++)
                line[i] = rs.get(i+1);
            al.add(line);
        }
        data = new Object[al.size()] [cols];
        for (int i = 0 ; i < al.size() ; i++) {
            Object[] each = al.get(i);
            data[i] = each;
        }
    }

    public Object[][] getData() {
    }
}
Avatar billede logical Nybegynder
21. maj 2001 - 13:02 #9
Ups, tilføj lige return data i getData() metoden.
Avatar billede tmo Nybegynder
21. maj 2001 - 13:03 #10
fedt, logical. Det lyder som den rigtige løsning.
Thomas
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