15. juni 2005 - 11:51
Der er
14 kommentarer og 1 løsning
Udskriver under det gamle efter database forespørgsel
Jeg har lavet en applet som henter oplysninger fra en ACCESS database ved tryk på guvne knapper. Problemet er, at henter jeg oplysninger udskriver den dem under dem jeg har indhentet. Har prøvet at cleare tekstområdet, men det hjælper ikke. Går ud fra at det er når jeg henter oplysningerne altså i min database klasse det går galt. Hvad gør jeg.
Annonceindlæg fra Infor
Hvis du er sikker på du har nulstillet tekstfeltet så behøver vi jo ikke se koden der.. men så skal vi se hvad du gør i den klasse du henter dit db info fra..
har du en dittextarea.setText(""); før du putter data ind igen ?
Jeg tror at det er når jeg lægger mine data fra databasen ind i min variabel, så sletter den ikke det som står i den, men lægger bare den nye søgning oveni. Hvordan sletter man en variabel efter den er returneret String a f.eks.
den variabel du returnere.... sæt den ligmed ""; lige før du køre din while løkke på dit resultset altså dinvariabel = ""; while(rs.next()) { blah }
Her er min klasse fra databasen. Den er nem at gå til, da det er mit andet program. Jeg ønsker bare en hurtig løsning og helst ikke for besværlig import java.util.*; import java.sql.*; import java.io.*; public class Database { java.sql.Connection forb; java.sql.ResultSet rs; java.sql.Statement stmt; String a = ""; String b = ""; String c = ""; String d = ""; Brugerflade tekst = new Brugerflade(); public void forbind() { try { String url = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Documents and Settings\\Flemming\\Dokumenter\\PATIENTER.mdb"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); forb = DriverManager.getConnection(url); stmt = forb.createStatement(); } catch (Exception err) { err.printStackTrace(); } } public String HentPat() throws SQLException { forbind(); rs = stmt.executeQuery("SELECT * FROM patienten WHERE CPRnr = '1602160234'"); while (rs.next()) { String cpr = rs.getString("CPRnr"); String pnavn = rs.getString("PatNavn"); String padresse = rs.getString("PatAdresse"); int ppostnr = rs.getInt("PatPostnr"); String pby = rs.getString("PatCity"); int ptlf = rs.getInt("PatTlfnr"); a = a+"\n"+cpr+"\n"+pnavn+"\n"+padresse+"\n"+ppostnr+"\n"+ptlf +"\n"+pby+"\n"+ptlf; } rs.close(); forb.close(); return a; } public String HentFam() throws SQLException { try { forbind(); rs = stmt.executeQuery("SELECT * FROM familie WHERE CPRnr = '1602160234'"); while (rs.next()) { String cpr = rs.getString("CPRnr"); String fnavn = rs.getString("Famnavn1"); String fadresse = rs.getString("Famdresse1"); int fpostnr = rs.getInt("Fampostnr1"); String fby = rs.getString("Famcity1"); int ftlf = rs.getInt("Famfasttlf1"); int fmob = rs.getInt("Fammobil1"); String fnavn2 = rs.getString("Famnavn2"); String fadresse2 = rs.getString("Famadresse2"); int fpostnr2 = rs.getInt("Fampostnr2"); String fby2 = rs.getString("Famcity2"); int ftlf2 = rs.getInt("Famfasttlf2"); int fmob2 = rs.getInt("Fammobil2"); b = b+"\n"+cpr+"\n"+fnavn+"\n"+fadresse+"\n"+fpostnr+"\n"+fby+"\n"+ftlf+"\n"+fmob+"\n"+fnavn2+"\n"+fadresse2+"\n"+fpostnr2+"\n"+fby2+"\n"+ftlf2+"\n"+fmob2; // } } catch (Exception fejl2) { fejl2.printStackTrace(); System.out.println("Fejl i forbindelsen... Prøv senere " + fejl2); } rs.close(); forb.close(); return b; } public String HentDok() throws SQLException { rs = stmt.executeQuery("SELECT * FROM doktor WHERE CPRnr = '1602160234'"); while (rs.next()) { String cpr = rs.getString("CPRnr"); String dnavn = rs.getString("Patdok"); String dadresse = rs.getString("Patdokadresse"); int dpostnr = rs.getInt("Patdokpostnr"); String dby = rs.getString("Patdokcity"); int dtlf = rs.getInt("Patdoktlf"); c = c+cpr+"\n"+dnavn+"\n"+dadresse+"\n"+dpostnr+"\n"+dby+"\n"+dtlf; } rs.close(); forb.close(); return c; } public String HentMed() throws SQLException { ResultSet rs = stmt.executeQuery("SELECT * FROM medicin WHERE CPRnr = '1602160234'"); while (rs.next()) { String med1 = rs.getString("Medicin1"); String dgl1 = rs.getString("Meddgl1"); String med2 = rs.getString("Medicin2"); String dgl2 = rs.getString("Meddgl2"); String med3 = rs.getString("Medicin3"); String dgl3 = rs.getString("Meddgl3"); String med4 = rs.getString("Medicin4"); String dgl4 = rs.getString("Meddgl4"); String med5 = rs.getString("Medicin5"); String dgl5 = rs.getString("Meddgl5"); String med6 = rs.getString("Medicin6"); String dgl6 = rs.getString("Meddgl6"); int dosis = rs.getInt("Meddato"); d = d+med1+"\n"+dgl1+"\n"+med2+"\n"+dgl2+"\n"+med3+"\n"+dgl3+"\n"+med4+"\n"+dgl4+"\n"+med5+"\n"+dgl5+"\n"+med6+"\n"+dgl6+"\n"+dosis; } rs.close(); forb.close(); return d; } }
over alle dine while (rs.next()) løkker skal du lige i hver af dem skrive a = ""; b = ""; osv. .. det nulstiller
import java.util.*; import java.sql.*; import java.io.*; public class Database { java.sql.Connection forb; java.sql.ResultSet rs; java.sql.Statement stmt; String a = ""; String b = ""; String c = ""; String d = ""; Brugerflade tekst = new Brugerflade(); public void forbind() { try { String url = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\\Documents and Settings\\Flemming\\Dokumenter\\PATIENTER.mdb"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); forb = DriverManager.getConnection(url); stmt = forb.createStatement(); } catch (Exception err) { err.printStackTrace(); } } public String HentPat() throws SQLException { forbind(); rs = stmt.executeQuery("SELECT * FROM patienten WHERE CPRnr = '1602160234'"); nulstil(); while (rs.next()) { String cpr = rs.getString("CPRnr"); String pnavn = rs.getString("PatNavn"); String padresse = rs.getString("PatAdresse"); int ppostnr = rs.getInt("PatPostnr"); String pby = rs.getString("PatCity"); int ptlf = rs.getInt("PatTlfnr"); a = a+"\n"+cpr+"\n"+pnavn+"\n"+padresse+"\n"+ppostnr+"\n"+ptlf +"\n"+pby+"\n"+ptlf; } rs.close(); forb.close(); return a; } public String HentFam() throws SQLException { try { forbind(); rs = stmt.executeQuery("SELECT * FROM familie WHERE CPRnr = '1602160234'"); nulstil(); while (rs.next()) { String cpr = rs.getString("CPRnr"); String fnavn = rs.getString("Famnavn1"); String fadresse = rs.getString("Famdresse1"); int fpostnr = rs.getInt("Fampostnr1"); String fby = rs.getString("Famcity1"); int ftlf = rs.getInt("Famfasttlf1"); int fmob = rs.getInt("Fammobil1"); String fnavn2 = rs.getString("Famnavn2"); String fadresse2 = rs.getString("Famadresse2"); int fpostnr2 = rs.getInt("Fampostnr2"); String fby2 = rs.getString("Famcity2"); int ftlf2 = rs.getInt("Famfasttlf2"); int fmob2 = rs.getInt("Fammobil2"); b = b+"\n"+cpr+"\n"+fnavn+"\n"+fadresse+"\n"+fpostnr+"\n"+fby+"\n"+ftlf+"\n"+fmob+"\n"+fnavn2+"\n"+fadresse2+"\n"+fpostnr2+"\n"+fby2+"\n"+ftlf2+"\n"+fmob2; // } } catch (Exception fejl2) { fejl2.printStackTrace(); System.out.println("Fejl i forbindelsen... Prøv senere " + fejl2); } rs.close(); forb.close(); return b; } public String HentDok() throws SQLException { rs = stmt.executeQuery("SELECT * FROM doktor WHERE CPRnr = '1602160234'"); nulstil(); while (rs.next()) { String cpr = rs.getString("CPRnr"); String dnavn = rs.getString("Patdok"); String dadresse = rs.getString("Patdokadresse"); int dpostnr = rs.getInt("Patdokpostnr"); String dby = rs.getString("Patdokcity"); int dtlf = rs.getInt("Patdoktlf"); c = c+cpr+"\n"+dnavn+"\n"+dadresse+"\n"+dpostnr+"\n"+dby+"\n"+dtlf; } rs.close(); forb.close(); return c; } public String HentMed() throws SQLException { ResultSet rs = stmt.executeQuery("SELECT * FROM medicin WHERE CPRnr = '1602160234'"); nulstil(); while (rs.next()) { String med1 = rs.getString("Medicin1"); String dgl1 = rs.getString("Meddgl1"); String med2 = rs.getString("Medicin2"); String dgl2 = rs.getString("Meddgl2"); String med3 = rs.getString("Medicin3"); String dgl3 = rs.getString("Meddgl3"); String med4 = rs.getString("Medicin4"); String dgl4 = rs.getString("Meddgl4"); String med5 = rs.getString("Medicin5"); String dgl5 = rs.getString("Meddgl5"); String med6 = rs.getString("Medicin6"); String dgl6 = rs.getString("Meddgl6"); int dosis = rs.getInt("Meddato"); d = d+med1+"\n"+dgl1+"\n"+med2+"\n"+dgl2+"\n"+med3+"\n"+dgl3+"\n"+med4+"\n"+dgl4+"\n"+med5+"\n"+dgl5+"\n"+med6+"\n"+dgl6+"\n"+dosis; } rs.close(); forb.close(); return d; } public void nulstil() { String a = ""; String b = ""; String c = ""; String d = ""; } }
kalp tak for hjælpen. Vidste egentlig godt det var det, men ikke helt hvor jeg skulle placere kommandoen. Send et svar og du får pointene
evt. kan du bare flytte dine variabler fra toppen og ned i de forskellige metoder.. så er det blot lokalvarabler og bliver derfor selv nulstillet efter hvert kald
15. juni 2005 - 12:03
#10
kommer her
15. juni 2005 - 12:06
#11
Jeg lader programmet som det er helst. men jeg ved hvad du mener.
15. juni 2005 - 12:08
#12
helt i orden:)
15. juni 2005 - 12:11
#13
kalp tænkte på om du vil prøve at hjælpe med et andet problem som jeg kan oprette i en ny tråd. jeg har oprettet en tidligere tråd vedr. samme problem, men fandt ingen løsning. Jeg skal foretage en forespørgsel i min database udfra det jeg angiver i et tekstfelt, men jeg har ikke fundet løsningen endnu. Er det noget du gider
15. juni 2005 - 12:16
#14
kan da i hvertfald lige kigge på det:)
15. juni 2005 - 12:19
#15
Kurser inden for grundlæggende programmering