Avatar billede mortency Nybegynder
17. december 2001 - 22:32 Der er 17 kommentarer og
1 løsning

OPPDATERE DATABASE

Set oConn = Server.CreateObject(\"ADODB.Connection\")

oConn.Open \"Driver={Microsoft Access Driver (*.mdb)};dbq=\" & Server.MapPath(\"../database/db.mdb\")

txtDato = Date()
txtDato = Day( txtDato ) & \".\" & Month( txtDato ) & \".\" & Year( txtDato )

SQL = \"UPDATE tblNyhet SET Tittel=\'\" & txtTittel &_
    \"\', Ingress=\'\" & txtIngress &_
    \"\', LagdAv=\'\" & txtLagdAv &_
    \"\', Mail=\'\" & txtMail &_
    \"\', Dato=\'\" & txtDato &_
    \"\' WHERE NyhetId = \" & \"\'\" & txtNyhetId & \"\'\"
   
    \'Response.Write(SQL)
   
    \'Response.End

\' Kjør SQL setning mot database server
Set oRS = oConn.Execute(SQL)

oConn.Close

Set oConn = Nothing

Feilmeldingen er som følger:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/FreeTeam/admin_site/oppdater_tblNyhet.asp, line 70

Og det er her: Set oRS = oConn.Execute(SQL) Hvis jeg skriver ut SQL er den som følger:

UPDATE tblNyhet SET Tittel=\'Dette er en test.\', Ingress=\'nyhet 2 \', LagdAv=\'mmc\', Mail=\'mmc@mmc.com\', Dato=\'17.12.2001\' WHERE NyhetId = \'2\'
Avatar billede brita Nybegynder
17. december 2001 - 22:39 #1
måske tror den txtNyhetId er tekst, forsøg at skrive CInt(txtNyhetId ) og ellers check at alle dine kolonner har samme format, som det du prøver at proppe i dem, det er ihvertfald det fejlen går på !
Avatar billede brita Nybegynder
17. december 2001 - 22:41 #2
åhhh nu jeg kigger igen, du har noget med dato..... det er næsten altid smertensbarnet.....hvad er dit format til datoen ?
Avatar billede brita Nybegynder
17. december 2001 - 22:44 #3
Avatar billede mortency Nybegynder
17. december 2001 - 22:47 #4
20.02.2001 og det er er som text i databasen.
Avatar billede brita Nybegynder
17. december 2001 - 22:51 #5
ja det er muligt, men min erfaring siger mig, at det skal man ikke altid tage efter, prøv at skrive:
YYYYMMDD eller YYMMDD uden punktummer.......altså 20011217.
Avatar billede brita Nybegynder
17. december 2001 - 22:52 #6
ups som text, ja så er det ikke der problemet er....
Avatar billede brita Nybegynder
17. december 2001 - 22:53 #7
er alt text ?
Avatar billede brita Nybegynder
17. december 2001 - 22:54 #8
hvis 2 er et tal, skal der ikke \' \' omkring....
Avatar billede tmceu Praktikant
17. december 2001 - 22:59 #9
Da du kun har ét felt i dit kriterie (WHERE clause), og det er der fejlen er jvf. fejlmeddelelsen, vil jeg mene du skal ændre denne linie

\"\' WHERE NyhetId = \" & \"\'\" & txtNyhetId & \"\'\"

til

\"\' WHERE NyhetId = \" & txtNyhetId

Dette er underforudsætning af, at feltet NyhetID er et nummerisk felt i databasen
Avatar billede mortency Nybegynder
17. december 2001 - 23:04 #10
Ja selfølgelig, jeg har testet det mot SQL og der fungerte det men \'3\' :-) point kommer..
Avatar billede sth Novice
17. december 2001 - 23:05 #11
Skal en dato i mysql ikke skrives åååå-mm-dd, altså ikke: \'17.12.2001\'  men \'2000-12-17\'

nornalt mener jeg at jeg gør sådan:
mysql_dato = DatePart(\"yyyy\", dato) & \"-\" & DatePart(\"m\", dato) & \"-\" & DatePart(\"d\", dato)


Avatar billede brita Nybegynder
17. december 2001 - 23:07 #12
tak skal du ha...... det tog lidt tid, jeg blev så optaget af det med datoen fordi jeg selv har kæmpet så mange gange med det, at jeg slet ikke kunne fokusere på andet ;) men det tmceu skrev, var faktisk det samme.......!
Avatar billede brita Nybegynder
17. december 2001 - 23:09 #13
>>>> sth, det mente jeg også, derfor kæmpede jeg !!! Måske virker det med din database, men min ville ikke ha det, og der var også et eller andet med at sige \'+0\'...... jeg har glemt hvad lige i skrivende stund!
Avatar billede tmceu Praktikant
17. december 2001 - 23:11 #14
brita >> ind i mellem går min maskine eller Eksperten i baglås når jeg skal poste. Da jeg svarede, kunne jeg ikke se dit svar, så det var ikke for at gentage dig :-)
Avatar billede sth Novice
17. december 2001 - 23:12 #15
Hmmmm det forstår jeg ikke, koden:
mysql_dato = DatePart(\"yyyy\", dato) & \"-\" & DatePart(\"m\", dato) & \"-\" & DatePart(\"d\", dato)

mener jeg faktisk at jeg har fundet her på eksperten under mysql, og på min side har det altid virket !!

Nå men nu viste det sig joat det ikke det der var problemet, så \"jule\" fred være med det-
Avatar billede brita Nybegynder
17. december 2001 - 23:12 #16
det kender jeg godt ;)
Avatar billede tmceu Praktikant
17. december 2001 - 23:16 #17
Hvorfor al den snak om MySQL. Det er en rigtig dejlig database, men der står altså Access skrevet over hele dette spørgsmål :-)
Avatar billede sth Novice
17. december 2001 - 23:17 #18
Føj da jeg skal da i seng !! jeg er jo blind, ja nu du siger det så kan jeg da godt se at det er access og ikke MySql, jeg beklager
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