Avatar billede yeahdesign Nybegynder
29. december 2003 - 19:42 Der er 10 kommentarer og
1 løsning

Kan ikke tilgå en database

Fejltype:
ADODB.Recordset (0x800A0CB3)
Det aktuelle postsæt understøtter ikke opdatering. Det kan skyldes en begrænsing af provideren eller den markerede låsetype.
/hogwartsny2k/ho_opretbruger.asp, line 23

Min connection ser således ud:
Set Conn3ny = Server.CreateObject("ADODB.Connection")
    Conn3ny.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Port=3306; UID=; PWD=; Database=" & db_bruger & ";"

    Set rs = Server.CreateObject("ADODB.recordset")
    rs.Open "SELECT * FROM ho_brugere", Conn3ny

Jeg bruger MySQL. Noget hjælp?
Avatar billede Spotgun Seniormester
29. december 2003 - 21:59 #1
Prøv med dette i stedet. Det burde enable opdatering på dit recordset...

rs.Open "SELECT * FROM ho_brugere", Conn3ny, 1, 3
Avatar billede yeahdesign Nybegynder
29. december 2003 - 22:22 #2
Så kom jeg det videre. Men så kommer det næste problem som jeg ikke lige kan forstå.

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
Der opstod en eller flere fejl ved en OLE DB-handling på flere trin. Kontroller alle OLE DB-statusværdier. Handlingen blev ikke udført.
/hogwartsny2k/ho_opretbruger.asp, line 57

Og i linien står der:
        rs(navn) = DataInput(Request.Form("ho_navn"))

Den har lige kørt gennem med rs(brugernavn), og det ser ud til at være gået fint nok.
Avatar billede Spotgun Seniormester
29. december 2003 - 22:25 #3
du mangler nogle "'er omkring feltnavnene...

RS("navn") = DataInput(Request.Form("ho_navn"))
Avatar billede yeahdesign Nybegynder
29. december 2003 - 22:26 #4
Hmm. Prøver. Det virkede ellers fint med Access før som det er nu.
Nå prøver vel bare så.
Avatar billede yeahdesign Nybegynder
29. december 2003 - 22:28 #5
Jeg får stadig en fejl. Ka' man overhovedet bruge recordset med MySQL?
Avatar billede Spotgun Seniormester
29. december 2003 - 22:34 #6
Det vil jeg da stærkt gå ud fra. Jeg har brugt det til nogle VisualBasic programmer, og VBScript slægter sig da ret godt på dér...
Avatar billede eagleeye Praktikant
30. december 2003 - 00:36 #7
Jeg får stadig en fejl. Ka' man overhovedet bruge recordset med MySQL?

Både ja og nej. Der er en kendt bug med recordset og mysql som gør hvis man forsøger at ligge nye data i en kolonne som der er data i forven eller tom får man den fejl du får. Fejlen betyder man ligger flere data i kolonnen end der er plads til Hvis man har en kolonne VChar(50) og ligger en streng i med 60 karakter får man den fejl. Problemtet er recordset indeholder den information men mysql giver ikke max længden men længden på den streng som ligger i en kolonne, så hvis der står "HEJ" og du vil ligge "HALLO" selvom max er 50 karakter tror recordset max længden er 3 karakter og giver den fejl.

Så derfor brug "rigtige" sql sætningen når du bruger mysql database.

SQL = "insert into tabelNavn (navn) values ("
SQL = SQL & "'" & DataInput(Request.Form("ho_navn")) & "'"
SQL = SQL & ")"

Conn3ny.Execute(SQL)
Avatar billede yeahdesign Nybegynder
30. december 2003 - 13:55 #8
Tænkte nok, at det ville ende sådan. :(
Nå, men så laver jeg det bare om.
BTW: kan man ikke bruge EOF med MySQL?

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01B6)
Objektet understøtter ikke denne egenskab eller metode: 'Eof'
/hogwartsny2k/ho_uglet.asp, line 27

Linien:
Do while NOT Urs.EOF
Avatar billede eagleeye Praktikant
30. december 2003 - 14:03 #9
Jo det virker fint

Det kan være fordi har du skrevet et forkert navn urs eller rs??

Det hjælper tit hvis man definere sit recordset

Set urs = Server.CreateObject("ADODB.Recordset")

set urs = Conn.Execute(SQL)
do while NOT urs.EOF
Avatar billede yeahdesign Nybegynder
30. december 2003 - 14:21 #10
Det var så mere eller mindre pinligt. Glemte vist lige at skrive Set. Hehe. :)
Nå, men smid en svar?
Avatar billede eagleeye Praktikant
30. december 2003 - 18:52 #11
Ok her et svar ;)
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