Avatar billede mads_jac Nybegynder
04. juni 2001 - 12:42 Der er 7 kommentarer og
1 løsning

Skrive til database via asp-script og querystring fra applet

Hej Alle.

Jeg håber nogen kan hjælpe mig her - jeg er ny i denne verden, og skal derfor have tingene skåret ud i pap, sorry.
Jeg ønsker at gemme en værdi i en database, og dette skal gøres ved følgende asp-script:

Template = Request.Querystring(\"Template\")
Farve    = Request.Querystring(\"Farve\")
SQL = \"UPDATE Farver SET Color=\'\" & Farve & \"\' WHERE Name=\'\" & Template & \"\';\"
Conn.execute(SQL)

- hvor conn er min aktive forbindelse til databasen.

Dette script skal kaldes når jeg trykker på \"Gem\"-knappen i min applet, der skal forblive åben efter \"Gem\".
Jeg tænker mig at kalde scriptet på følgende måde:

http://www.site.dk/Gem.asp?Template=noget&Farve=nogetandet

Kalder jeg URL\'en direkte i browseren, er der ingen problemer - den gemmer fint i databasen. Hvordan får jeg kaldt URL\'en på samme måde i min applet? Indtil videre er jeg nået til:

public void GemKlik(){
  String temp = \"http://madsserv/asp-projekt/areas/GemFarve.asp\";
  temp = temp + \"?Template=Menu&Farve=\" + hexFarve.getText();
    try{
      URL urlGem = new URL(temp);
      URLConnection conn = urlGem.openConnection();

    }catch (MalformedURLException ex){
    }catch (IOException ex){}
    showStatus(temp);   
  }


Mvh
Mads Jacobsen
Avatar billede crunch Nybegynder
04. juni 2001 - 12:55 #1
kan du ikke bruge en form ? - hvis det er det du mener.
altså request.form istedet for request.querystring.
også sender du via post metoden istedet for get.
Avatar billede lbhansen Nybegynder
04. juni 2001 - 15:43 #2
Burde din egen kode ikke gøre tricket?
Med mindre du ønsker at returnere noget
Avatar billede lbhansen Nybegynder
04. juni 2001 - 15:44 #3
Du skal bare huske at din applet og asp side skal ligge på samme server
Avatar billede stigc Nybegynder
04. juni 2001 - 21:41 #4
URL mitLink;

try {
    mitLink = new URL (getCodeBase(), \"miurl.asp\")
        } catch (Exception e) {}               
getAppletContext().showDocument(mitLink, \"_self\")
Avatar billede elster Nybegynder
04. juni 2001 - 22:31 #5
Jeg går ud fra at du ikke vil have ASP siden vist i et browser vindue, men at siden blot skal kaldes i \"baggruden\".

Du skal nok huske at kalde URLConnection.getInputStream(), for at request\'et bliver udført.

F.eks.:

public void gemKlik() {
String temp = \"http://madsserv/asp-projekt/areas/GemFarve.asp\";
temp += \"?Template=Menu&Farve=\" + hexFarve.getText();
URL url;
try {
  url = new URL(temp);
} catch (MalformedURLException ex) {
  return;
}
try {
  URLConnection con = url.openConnection();
  // Vær sikker på at caching ikke benyttes
  con.setUseCaches(false);
  // Lav HTTP request
  BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
  // Læs resultat fra ASP scriptet
  String respons = in.readLine();
  System.out.println(\"ASP resultat: \" + respons);
  // Luk InputStream
  in.close();
} catch (IOException ex) {
  return;
}
}
Avatar billede elster Nybegynder
05. juni 2001 - 11:13 #6
Hvis dit ASP script ikke returnere noget resultat du gider at læse, kalder du blot URLConnection.getInputStream() uden at læse fra/benytte det returnerede InputStream objekt.

Så vil kaldet af URL\'en se nogenlunde ud som nedenstående:

try {
  URLConnection con = url.openConnection();
  // Vær sikker på at caching ikke benyttes
  con.setUseCaches(false);
  // Lav HTTP request
  con.getInputStream();
} catch (IOException ex) {
  return;
}

Avatar billede mads_jac Nybegynder
05. juni 2001 - 12:21 #7
OH YEAH!!!!!!

Hvilken herlig forløsning... :-)

Mads
Avatar billede elster Nybegynder
05. juni 2001 - 12:43 #8
No problem :)
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