Avatar billede aneez Nybegynder
27. oktober 2000 - 21:27 Der er 11 kommentarer og
2 løsninger

ASP & mySQL?

Er der nogen der kan give mig et kode eksempel på hvordan man trækker noget ud af en tabel og hvordan man skriver i en tabel. Jeg har fattet at man skal bruge SELECT og INSET men jeg ved ikke hvordan de skal bruges i asp koden. Så derfor kunne jeg godt lige bruge et kode eksempel :)) på forhånd tak

/Aneez
Avatar billede lorx.dk Nybegynder
27. oktober 2000 - 21:32 #1
<%
    SQLserveradr=\"\"
    SQLdatabase=\"\"   
    SQLlogin=\"\"
    SQLpassword=\"\"

    Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"driver={MySql};server=\"& SQLserveradr &\";database=\"& SQLdatabase &\";uid=\"& SQLlogin &\";pwd=\"& SQLpassword
\'Eksempel på INSERT
SQL = \"INSERT INTO bruger (navn,email) VALUES (\'\"&navn&\"\',\'\"&email&\"\')\"
Set rs = Server.Createobject(\"ADODB.Recordset\")
Set rs = conn.Execute(SQL)
 
\'Eksemepel på SELECT
SQL2 = \"SELECT * FROM bruger\"
Set rs = conn.Execute(SQL2)

%>
Avatar billede aneez Nybegynder
27. oktober 2000 - 21:36 #2
hmm.. lorx.dk: hvordan for jeg så SQL2 ud så jeg kan se det? som med access db eller hvad <%=(\"bruger\")%> eller hvad? eller skal dette gøres på en anden måde?
Avatar billede lorx.dk Nybegynder
27. oktober 2000 - 21:41 #3
ja, det er helt lige som, når du bruger Access.

do while not rs2.eof
response.write rs2(\"email\")
response.write rs2(\"navn\")
rs2.movenext
loop
Avatar billede tuhe Nybegynder
27. oktober 2000 - 21:44 #4
Du looper ligesom ved Access - der er egentlig ikke forskel på måden at arbejde med recordset på når du bruger MySQL eller Access og det er der så alligevel, men vist ikke så vigtigt her ;- Så hvis du vil loope gennem rs\'et:

Set rs=conn.execute(\"SELECT * FROM bruger\")

while not rs.eof
  Response Write(rs(\"bruger\"))
rs.movenext
wend

rs.close
Set rs=nothing \' osv.
Avatar billede tuhe Nybegynder
27. oktober 2000 - 21:45 #5
damn - too slow ;-)
Avatar billede aneez Nybegynder
27. oktober 2000 - 21:49 #6
hehe ok tak for det... jeg prøver lige om jeg kan få det til at virke... og så deler jeg point ud.
Avatar billede aneez Nybegynder
27. oktober 2000 - 22:34 #7
<HTML>
  <HEAD>
  </HEAD>
  <BODY>
    <%
      SQLserveradr=\"mysql.andersenit.dk\"
      SQLdatabase=\"aneezdk\"   
      SQLlogin=\"aneezdk\"
      SQLpassword=\"******\"

      strConnect = \"DRIVER={MySql}; SERVER=mysql.andersenit.dk; DATABASE=aneezdk; UID=aneezdk; PWD=******\"
 
      SQL = \"SELECT * FROM bruger\"
      Set rs = conn.Execute(\"SQL\")
     
      if RS.eof then

        response.write \"Databasen er tom\"

      else
   
      do while not RS.eof                 
    %>
    <b><%=(navn)%>:</b> <%=(\"text\")%> <i><%=(\"ID\")%></i><br>
    <%
      RS.movenext
                             
        loop
 
      end if
    %>
  </BODY>
</HTML>

Jeg ved ikke om der er fejl i koden men det virker ikke den skriver at der er fejl i linien:

Set rs = conn.Execute(SQL)

Kan nogen af jer se hvad fejlen kan være?
Avatar billede lorx.dk Nybegynder
27. oktober 2000 - 22:44 #8
ja
prøv med dette (er ikke testet!)
SQLserveradr=\"mysql.andersenit.dk\"
SQLdatabase=\"aneezdk\"   
SQLlogin=\"aneezdk\"
SQLpassword=\"******\"

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"driver={MySql};server=\"& SQLserveradr &\";database=\"& SQLdatabase &\";uid=\"& SQLlogin &\";pwd=\"& SQLpassword
Set rs = Server.Createobject(\"ADODB.Recordset\")

      SQL = \"SELECT * FROM bruger\"
      Set rs = conn.Execute(\"SQL\")
     
      if RS.eof then

        response.write \"Databasen er tom\"

      else
   
      do while not RS.eof                 
    %>
    <b><%=(navn)%>:</b> <%=(\"text\")%> <i><%=(\"ID\")%></i><br>
    <%
      RS.movenext
                             
        loop
 
      end if
    %>
  </BODY>
</HTML>


Avatar billede lorx.dk Nybegynder
27. oktober 2000 - 22:46 #9
Du skal kun ændre linien
SQLpassword=\"******\"


Avatar billede aneez Nybegynder
27. oktober 2000 - 23:12 #10
hehe ja ved det
Avatar billede tuhe Nybegynder
28. oktober 2000 - 13:29 #11
din sql-strenge skal ikke i \"\" - dit db-opslag skal udføres på følgende måde:

Set rs=conn.execute(SQL) og IKKE \"SQL\"
- prøv ellers:
Set rs=conn.execute(\"SELECT * FROM bruger\")
Avatar billede lorx.dk Nybegynder
28. oktober 2000 - 16:49 #12
Set rs=conn.execute(SQL) og IKKE \"SQL\" <-- DOh! Jeg havde vist bare kopieret det aneez havde prøvet med
Avatar billede aneez Nybegynder
28. oktober 2000 - 17:03 #13
hmm.. jeg har fået det til at virke... og tak for hjælpen..
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