Avatar billede thomaz Nybegynder
30. oktober 2000 - 08:53 Der er 2 kommentarer og
2 løsninger

returnere en streng fra en database søgning

Jeg har lavet følgende program: Jeg skal have programmet til at returnere en stregn idet jeg har en grafisk brugerflade(tekstboks) der skal bruge en streng. Hvordan får jeg dette program til, at returnere strengene a og b. 


import java.sql.*;

public class SimpleSearch
{

        private String a = \"\";       
        private String b = \"\";       



       
        public void search()
        {

        ResultSet r = null;
   
        try
        {    Class.forName (\"sun.jdbc.odbc.JdbcOdbcDriver\");
        // etablerer forbindelsen til database. Laver en bro
        }
   
        catch (ClassNotFoundException cnfe)
        {   
        System.err.println (\"JDBC-ODBC driver kunne ikke findes.\");
      System.exit(1);
      // catcher hvis der er en fejlmeddelse
        }
   
       
        try
        {   
        Connection c = DriverManager.getConnection (\"jdbc:odbc:KundeSalgVare\");
        // navn på databasen h
        Statement s = c.createStatement();
      r = s.executeQuery (\"SELECT * FROM Kunder;\");
      //WHERE Navn = \'Hansen\'
        }


      catch (SQLException se)
        {   
        System.err.println (\"Forespørgslen kunne ikke udføres.\");
        System.exit(2);
      }
       
   
        try
        {
       
            while (r.next())
            {   
            /*System.out.println (\"Navn:    \" + r.getString (\"Navn\"));
          System.out.println (\"Adresse:  \" + r.getString (\"Adresse\"));
          System.out.println (\"----\");
            */
            a = r.getString (\"Navn\");
            b = r.getString (\"Adresse\");
                               
            }

          }
   
   
        catch (SQLException se)
        {
        System.out.println(se);
        }
   
       
           

    } 


        public String getString()
        {
        return a;
// Her returneres a, MEN programmet returnerer KUN \"\" og ikke selve det er er blevet søgt på i min database.
     
        }       
 
           
   
}



Avatar billede lbhansen Nybegynder
30. oktober 2000 - 16:48 #1
En pæn måde er at lave en klasse Kunde og returnere den.
public class Kunde{
  private String navn;
  private String adresse;

  public Kunde( String navn, String adresse ){
      this.navn = navn;
      this.adresse = adresse;
  }

  public void setNavn( String navn ){this.navn = navn;}
  public String getNavn(){return navn;}
  public void setAdresse( String adresse ){this.adresse = adresse;}
  public String getAdresse(){return adresse;}
}

At de klasse kun returnerer \"\" kan være en fejl i din database, da klassen ser fin nok ud
Avatar billede davsclaus Nybegynder
30. oktober 2000 - 17:37 #2
Det har vel noget at gøre med koden:
*/
            a = r.getString (\"Navn\");
            b = r.getString (\"Adresse\");
                               
Prøv med:
a = new String(r.getString(\"Navn\"));

Avatar billede davsclaus Nybegynder
30. oktober 2000 - 17:39 #3
Og ja som Ibhansen siger så er det pænt at pakke virkelighedens begreber ind i selvstændige objekter, f.eks. som han nævner med kunde. Men det er blot en anden ting, i forhold til at kunne retunere svaret fra din søgning.
Avatar billede lbhansen Nybegynder
30. oktober 2000 - 17:57 #4
Det burde ikke hjælpe noget, da compileren vil gøre det på den måde alligevel
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