Avatar billede mercutio Nybegynder
21. november 2000 - 23:38 Der er 8 kommentarer og
1 løsning

Hvordan får jeg ResultSet fra en Server til en Client

Jeg har lavet en server som kan kaldes fra en client. Clienten kalder serveren med en sql sætning, serveren går så ned i en database og sender et ResultSet tilbage via en PrintWriter men når jeg prøver at gribe ResultSættet i clienten med en bufferedReader så får jeg følgende kommentar af kompileren.

Incompatible type for declaration. Can\'t convert java.lang.String to java.sql.ResultSet.
ResultSet INr = in.readLine(); Hvad gør jeg forkert eller hvad skal jeg gøre i stedet er faktisk det svar jeg leder efter.
Jeg vil have at vide hvordan jeg får et ResultSet fra en server til en Client så det kan benyttes i clienten.
PFH. tak.
Avatar billede stigc Nybegynder
21. november 2000 - 23:42 #1
Jeg er sikker her på stående fod, men.......
bufferReader er en String method! Du må konvertere dit resultat til string inden du sender det, eller også må du fange det på en ande måde!
Avatar billede lbhansen Nybegynder
21. november 2000 - 23:43 #2
stigc har ret. Du kan ikke bare returnere et Resultset på den måde, men selv trække alle relevante data ud af det.

For at få et grundlæggende overblik over jdbc, er det måske relevant at kigge på følgende \"course\"
http://developer.java.sun.com/developer/onlineTraining/Database/JDBCShortCourse/index.html
Avatar billede mercutio Nybegynder
21. november 2000 - 23:44 #3
Det virker fint med at sende det jeg har prøvet at skrive det ud som en string og der får jeg samme resultat både i clienten og i serveren. Men jeg tror ikke man kan konvertere noget fra string til ResultSet.
Avatar billede mercutio Nybegynder
21. november 2000 - 23:46 #4
Hmmm Folk kan jo spørge på alle mulige ting fra clienten og det kan jeg da ikke tage højde for... Derfor skal de bare kunne sende en sql sætning og så få et resultset som de så selv skal kunne arbejde med....
Avatar billede lbhansen Nybegynder
21. november 2000 - 23:50 #5
Så skal du ikke bruge en PrintWriter, men en ObjectOutputStream, hvor brugeren skal læse resultsættet som et objekt, og bearbejde det.
Avatar billede mercutio Nybegynder
21. november 2000 - 23:51 #6
allright Ibhansen der var noget jeg kunne arbejde med jeg tester lige lidt og vender tilbage senere =)
Avatar billede lbhansen Nybegynder
21. november 2000 - 23:53 #7
Det vil sige, at du laver en
ObjectOutputStream out( dinStream )
out.writeObject( ditResultset )

Klienten skal så have en input.
ObjectInputStream in( dinStream )
ResultSet rs = ( ResultSet )in.readObject();
Avatar billede mercutio Nybegynder
21. november 2000 - 23:56 #8
Nu brilerer du =) suverent tak men jeg tester nu lige om jeg kan få det til at spille før jeg deler points ud =)
Avatar billede mercutio Nybegynder
22. november 2000 - 00:39 #9
Ibhansen det ser meget positivt ud men jeg får en runtime error:
java.io.WriteAbortedException: Writing aborted by exception; java.io.NotSerializableException: sun.jdbc.odbc.JdbcOdbcResultSet
Jeg kan godt compile det er noget bedre end før =) ved du tilfældigvis hvad jeg gør forkert?
Min icq er 5962041 hvis du hellere vil klare det her.
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