21. maj 2001 - 12:44Der 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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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)
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; } }
fedt, logical. Det lyder som den rigtige løsning. Thomas
Synes godt om
Ny brugerNybegynder
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.