Avatar billede brobaek Nybegynder
11. maj 2002 - 22:59 Der er 3 kommentarer og
1 løsning

Fejl i opdatering af database

Jeg har en simpel MySQL tabel (news), med flg. colonner:

NewsID int(30)
NewsDate date
Title varchar(30)
Subject mediumblop
Article mediumblop

Jeg har flg. code i VB :
Sub AddArticle()
Dim rsl As New ADODB.Recordset

With rsl
    .Open "Select * from News", CONNECTION, adOpenDynamic, adLockOptimistic
    .MoveLast
    .AddNew
End With

rsl!NewsID = LastNewsNo + 1
rsl!NewsDate = Now()
rsl!Title = frmDoNews.txtTitle.Text (*NOTE)
rsl!Subject = frmDoNews.txtSubject.Text
rsl!Article = frmDoNews.txtArticle.Text

With rsl
    .Update
    .Close
End With
GetNews

End Sub

Når jeg kører denne kode kommer VB med en fejl :
"Multi-step OLE DB operation genereted errors. Check each OLE DB status value, if available. No work was done".
Debuggeren stopper i koden, hvor jeg har skrevet "NOTE".

txtTitle, txtSubject og txtArticle er textboxe, med passende maxlengt (dvs. title > 34, txtsubject & txtarticle > 1.677.000).

Okay, hvor har jeg dummet mig ????

Mvh
Martin
Avatar billede erikjacobsen Ekspert
11. maj 2002 - 23:04 #1
Mysql og ADO dur ikke rigtig sammen. Brug kun INSERT og UPDATE sætninger
Avatar billede erikjacobsen Ekspert
11. maj 2002 - 23:06 #2
Det *kan* i hvert fald være noget med feltlængder. Her er ASP (ADO)
ganske striks. Man får en fejl, hvis teksten man putter i et felt
er for stor - rimeligt nok, på sin vis.

Med "SELECT * ..:" får du et tilfældigt (sådan da) felt tilbage,
og så kan du ikke putte noget større i - uagtet at feltet måske
er erklæret til noget større.
Avatar billede hansk Nybegynder
13. maj 2002 - 23:48 #3
Det er formentlig fordi Mysql ikke supporterer alle metoder du bruger.
Når du skriver "With rsl" fyrer du en masse operationer af på samme tid, og det kan være svært at afgøre hvilken metode der gik galt.
Skriv i stedet
rsl.open ....
rsl.movelast (jeg gætter på at fejlen ligger her)
rsl.addnew
Din syntaks er også ok når du er sikker på at alle metoder fungerer.
Avatar billede brobaek Nybegynder
02. juni 2002 - 02:38 #4
...
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