Avatar billede loopstudio Nybegynder
07. marts 2004 - 13:43 Der er 7 kommentarer

Hvorfor virker UPDATE ikke?

Min kode (som virker op imod en MS Access database):

-----------------------------------------------------
objConn.Open strConn
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn

objRS.CursorLocation = adUseServer
objRS.CursorType = adOpenKeyset
objRS.LockType = adLockOptimistic

strQ = "SELECT * FROM Tabel WHERE Tabel.ID = 100;"

objRS.Open strQ

objRS("Felt") = "test"

objRS.Update

objRS.Close   
objConn.close
set objConn = Nothing
-----------------------------------------------------

HVORFOR virker dette ikke op imod en mySQL database?

Jeg får nemlig følgende fejl:
-----------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

/program.asp, line 56
-----------------------------------------------------

Den fejler i UPDATE linjen!

Please help! ;o)
Avatar billede KingMedia Novice
07. marts 2004 - 15:19 #1
prøv dette..

objRS.Open strQ

objRS.Update

objRS("Felt") = "test"

objRS.Update
..

Da jeg før i tiden brugte access databaser, satte jeg altid Update før og efter statement, og det fejlede aldrig :o)

/Mads
Avatar billede loopstudio Nybegynder
07. marts 2004 - 18:29 #2
Jeg har ikke problemer med at køre min .ASP-kode op imod MS Access. Der virker det fint!
Det er først nu hvor jeg har skiftet databasen ud med en mySQL-database, så fejler det!

1) Mente du op imod mySQL?
2) Ved du hvordan man checker OLE DB STATUS values?
Avatar billede KingMedia Novice
07. marts 2004 - 19:23 #3
Ahhhh..

Så vidt jeg ved kan du ikke bruge UPDATE funktionen i MySql på samme måde som i access.

hvis jeg skal opdatere i min MySQL, gør jeg det på følgende måde.

SQL = "UPDATE " & strDb & ".ikkeBN SET Navn = '" & MessageOk &  "', Dato = '" & MessageOk1 & "', Spillested = '" & Spil & "', Billetudbyder = '" & BilletU & "' WHERE eID = '" & eID & "'"

prøv den update metode i stedet :o)

/Mads
Avatar billede loopstudio Nybegynder
07. marts 2004 - 19:52 #4
ja, det er jeg vidst også selv kommet frem til.. *s* + *suk*
Jeg har netop fået lidt kode til at virke, men nu skal jeg desværre så til at omprogrammere alle mine .ASP-sider. Jeg havde ellers håbet på at koden kunne genbruges og at jeg kun skulle bruge energi på lidt dataformater.
Jeg synes det var meget smartere at kunne arbejde med recordsættet!
Avatar billede loopstudio Nybegynder
07. marts 2004 - 23:26 #5
Ved du så hvordan man gemmer en TimeStamp værdi i et felt med Update-sætningen? ALtså både aktuel dato og tidspunkt?

Jeg har prøvet begge disse to:

SQL = "UPDATE Tabel SET Redigeret=""getdate()"" WHERE ID=100"

SQL = "UPDATE Tabel SET Redigeret=""" & now() & """ WHERE ID=100"

Begge resulterer desværre blot i at feltet "Redigeret" bliver fyldt med en masse nuller! (0000-00-00 00:00:00).
Avatar billede KingMedia Novice
08. marts 2004 - 17:16 #6
Prøv den her.. 

SQL = "UPDATE Tabel SET Redigeret='" & now() & "' WHERE ID=100"

Lige TimeStamp har jeg altid haft bøvl med. er altid endt med at bare lave et VarChar felt og smide det ind der.

/Mads
Avatar billede KingMedia Novice
17. april 2004 - 10:30 #7
Husk at lukke spørgsmålet hvis ikke du har fået et brugbart svar :o)

/Mads
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