Avatar billede thesphinx Nybegynder
27. maj 2004 - 10:08 Der er 11 kommentarer og
1 løsning

Et par begynder spørgsmål til MySql

Jeg har et par spørgsmål angående asp og mysql når jeg opdatere, indsætter osv..
Da jeg kørte med access lukkede jeg min connection efter jeg havde opdateret, skal jeg gøre det samme med mysql??
Et eksempel på en asp kode jeg brugte til access:

    News_Date = Request.Form("News_Date")
    News_Add = Request.Form("News_Add")

    Set rsNews = Server.CreateObject("ADODB.Recordset")
    strSQL = "Select TblNews.* From TblNews;"
    rsNews.CursorType = 2
    rsNews.LockType = 3
    rsNews.Open strSQL, strCon
    rsNews.Addnew
    rsNews.Fields("News_Date") = News_Date
    rsNews.Fields("News_Add") = News_Add
    rsNews.Update
    rsNews.Requery
    Response.Write "Nyhed Tilføjet"
    rsNews.Close
    Set rsNews = Nothing

og så den samme funktion for at opdatere mysql:

        News_Date = Request.Form("News_Date")
        News_Add = Request.Form("News_Add")
        Set rsTutorial = conn.execute("INSERT INTO `TblNews` (News_Date,News_Add) VALUES('"&News_Date&"','"&News_Add&"')")
        Response.Write "Nyhed Tilføjet"

Begge funktioner fungerer. Jeg undrer mig dog over at hvis jeg prøver at bruge
rsNews.Close
Set rsNews = Nothing
Så nægter den, men den indsætter det fint nok..???
Avatar billede thesphinx Nybegynder
27. maj 2004 - 10:11 #1
De sidste par linier skulle skrives lidt anderledes..;)
Begge funktioner fungerer. Jeg undrer mig dog over at hvis jeg prøver at bruge
rsNews.Close
Set rsNews = Nothing
i mysql så giver den en fejl, men den indsætter det fint nok..???
Avatar billede arne_v Ekspert
27. maj 2004 - 10:12 #2
Umiddelbart vil jeg men at om du bruger den ene eller den anden måde
er helt uafhængigt af om du bruger Access eller MySQL.

Men det er svært at sige da du ikke viser hvad conn er i dit MySQL eksempel.
Avatar billede thesphinx Nybegynder
27. maj 2004 - 10:15 #3
Min conn til mysql er:

set conn = server.createobject("ADODB.connection")
conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=db.web-town.dk;Port=3306;Option=131072; DATABASE=xxxx; UID=xxxx; PWD=xxxxx;"
Avatar billede thesphinx Nybegynder
27. maj 2004 - 10:27 #4
dap dap dap.. Lister lige så stille af...:)
Tror jeg fandt fejlen
conn.Close
Set rsNews = Nothing

Istedet for:
rsNews.Close
Set rsNews = Nothing
Avatar billede thesphinx Nybegynder
27. maj 2004 - 10:30 #5
Svar til mig selv...
Avatar billede erikjacobsen Ekspert
27. maj 2004 - 10:32 #6
ADODB metoden fungerer ikke altid ved opdatering i mysql (noget med længde
af felter), men det er muligvis kun et problem med ældre drivere.
Jeg vil anbefale dig at skrive sql-en direkte.
Avatar billede arne_v Ekspert
27. maj 2004 - 10:34 #7
erik>

Hvad er direkte ?
Avatar billede thesphinx Nybegynder
27. maj 2004 - 10:36 #8
--> erikjacobsen
Den fik jeg ikke rigtig fat i...:-)
Avatar billede erikjacobsen Ekspert
27. maj 2004 - 10:44 #9
Jeg mener bare at du bør bruge SQL: INSERT, UPDATE osv, og ikke ADODB.
Men som sagt - nyere drivere bør have fikset problemet med feltlængder, så
ADODB kan benyttes ved opdatering.
Avatar billede thesphinx Nybegynder
27. maj 2004 - 10:45 #10
Ahh okay.. Fattede den nu..
Avatar billede arne_v Ekspert
27. maj 2004 - 10:46 #11
Du mener at man skal bruge Execute og ikke Addnew (men begge med ADO)
Avatar billede erikjacobsen Ekspert
27. maj 2004 - 10:52 #12
Ja. Jeg bruger muligvis ikke autoriseret terminologi. ;)
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
Computerworld tilbyder specialiserede kurser i database-management

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