Avatar billede wilweb Nybegynder
29. maj 2002 - 10:42 Der er 12 kommentarer og
4 løsninger

Database forspørgsel

<%
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath ("data/test.mdb")
  Set rs = Server.CreateObject("ADODB.Recordset")
  strSQL = "select * from tbl_test"
  const adOpenStatic = 3
  const adLockOptimistic = 3
   
  rs.open strSQL, dsn, adOpenStatic, adLockOptimistic
           
  RS.AddNew
  RS("navn") = Request.Form("navn")
  RS("alder") = Request.Form("alder")
  RS("email") = Request.Form("email")
  RS("web") = Request.Form("web")
  RS("dato") = now()
  RS("ip") = Request.ServerVariables("REMOTE_ADDR")
  RS.Update
   
  response.redirect "hent.asp"
%>

Her skriver jeg en ny record i en Access database! virker fint!

Er det også måden at skrive en ny record i MySQL / SQL???

hvordan opdaterer man recorde med samme syntax?? (altså retter data i en eksisterende record)
hvordan sletter man et recordset med samme syntax??
Avatar billede dk_akj Nybegynder
29. maj 2002 - 10:46 #2
Sql er generelt ens for alle databaser.

Dog har alle databaser deres engne funktioner mm. men grundlæggende er de ens.

//akj
Avatar billede dk_akj Nybegynder
29. maj 2002 - 10:47 #3
Denne sql sætter brugernavn til test hvor id = 2

  UPDATE "AKJ_2" 
    SET "USER" = 'test'
  WHERE "AKJ_2"."ID" = 2
Avatar billede wilweb Nybegynder
29. maj 2002 - 10:54 #4
dk_kaj:> lad os nu sige at jeg ville opdatere alle mine felter i databasen, hvor request.form("email") = rs("email")
hvordan ville det se ud?
Avatar billede _just4fun_ Nybegynder
29. maj 2002 - 10:54 #5
Den SQL du bruger (strSql) skal være understøttet af den database du udfører den på, men den syntax du bruger her skulle være ok.

Hvis du har en DBdriver (odbc eller oledb) til en database, kan du lave forespørgsler gennem ADODB som du gør her. Du skal bare fortælle hvordan den connection du vil bruge ser ud. Ex. på en connection til en MSSqlserver:
DSN = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mySQLDatabase;Data Source=mySQLServer"

Delete er helt almindelig SQL-syntax:
strSql = "delete from tbl_test where alder < 18"

og update ala:
strSql = "update tbl_test set forung=1, koerebil=0 where alder < 18"
Avatar billede eagleeye Praktikant
29. maj 2002 - 10:56 #6
Hvis du bruger MySQL kan du løbe ind i problemmer med rs.AddNew, da det ikke helt virker med ADODB for mySQL.
Men hvis du benytter en SQL streng: INSERT INTO er der ingen problemmer.

"INSERT INTO tbl_test (navn,alder,email,web,dato,ip) VALUES ('" & Request.Form("navn") &"', ...osv...
Avatar billede _just4fun_ Nybegynder
29. maj 2002 - 10:56 #7
dk_akj -> " som felt-qualifyer er IKKE god skik (MSSQLSERVER bitcher ihvertfald over det!).  Brug [] i stedet
Avatar billede wilweb Nybegynder
29. maj 2002 - 10:57 #8
keysersoze :> på HTML skriver de ikke noget om fx. RS.AddNew & RS.Update, det var den jeg syntes var ny for mig:>
Avatar billede dk_akj Nybegynder
29. maj 2002 - 10:59 #9
så ville jeg skrive:

mailtoupdate = request.form("email")
strSql = "update users set noget=???? where email = " & emailtoupdate

//akj
Avatar billede dk_akj Nybegynder
29. maj 2002 - 11:01 #10
lige en lille rettelse, der var en tyrkfejl:

emailtoupdate = request.form("email")
strSql = "update users set noget=???? where email = " & emailtoupdate

//akj
Avatar billede tmceu Praktikant
29. maj 2002 - 11:06 #11
Man må antage at email er alfanummerisk og derfor skal stå i ''

strSql = "update users set noget=???? where email = '" & emailtoupdate & "'"
Avatar billede keysersoze Ekspert
29. maj 2002 - 11:11 #12
gizom >> det ved jeg - men er der noget galt i det da? jeg mener - kan det fra html ikke bruges lige så vel som rs.addnew?
Avatar billede wilweb Nybegynder
29. maj 2002 - 11:22 #13
keysersoze :> Joh da, ingen problemer med det:> jeg har skam brugt HTML.dk meget og jeg har da også flere gange oprettet spørgsmål om databaser her på exp.dk, men jeg har endnu ikke helt fundet den røde tråd, med hensyn til at hente, skrive og opdatere i en database, hvad der er smartes når man gerne vil have samme syntax til alle databaser om det er access, MySQL eller SQL. Hvis det da kan lade sig gøre?
Avatar billede _just4fun_ Nybegynder
29. maj 2002 - 11:27 #14
eagleeye -> Hvad går der galt med .addnew og mySql?
Avatar billede keysersoze Ekspert
29. maj 2002 - 11:56 #15
de eksempler fra html er dem jeg klart vil anbefale - det er jo trods alt dem fx access bruger til at indsætte i jet - og det er også den normale syntaks for mysql
Avatar billede wilweb Nybegynder
06. juni 2002 - 12:44 #16
Tak for hjælpen, deler point imellem jer, håder det er OK!
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