webForumDet fria alternativet

Varför fel?

ASP

8 svar · 232 visningar · startad av kalle

Medlem sedan maj 20007 inlägg
Frågan#1

Varför får jag detta felmeddelande:
Object or provider is not capable of performing requested operation.

koden

<!-- #include virtual="\jwl\adovbs.inc" -->

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\jwl\db\links.mdb"))

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

Addera = "SELECT * FROM links"

RecSet.Open Addera, Conn
RecSet.AddNew

RecSet("adress") = Request.Form("adress")
RecSet("namn") = Request.Form("namn")
RecSet("kategori") = Request.Form("kategori")

RecSet.Update
RecSet.Close
Conn.Close %\>

Lägg till <a href="addera.asp">fler poster i adressboken</a>.

</html>

------------------

Medlem sedan dec. 19996 721 inlägg
#2

recset.open "links",Conn,0,3,&H0002

Medlem sedan maj 20007 inlägg
#3

ok!
Nu får jag ett
Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
saknas något? eller vad?

<!-- #include virtual="\jwl\adovbs.inc" -->

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\jwl\db\links.mdb"))

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

Addera = "SELECT * FROM links"

recset.open "links",Conn,0,3,&H0002
RecSet.AddNew

RecSet("adress") = Request.Form("adress")
RecSet("text") = Request.Form("text")
RecSet("kategori") = Request.Form("kategori")

RecSet.Update
RecSet.Close
Conn.Close %\>

Lägg till <a href="addera.asp">fler poster i adressboken</a>.

Medlem sedan dec. 19996 721 inlägg
#4

Det kanske blir ett datatypsfel på "kategori"?

RecSet("kategori") = CInt(Request.Form("kategori"))

Medlem sedan maj 20007 inlägg
#5

Nu blir det detta felet
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'CInt'

------------------

Medlem sedan dec. 19996 721 inlägg
#6

Vad står i "kategori"? Är det inte en siffra? Tydligen inte.

Men varför gör du inte en vanlig "INSERT"? I en så här liten applikation finns det inga större vinster med direktmanipulering av recordset:et.

Medlem sedan maj 20007 inlägg
#7

Ok är det något is stil med det här du menar?
Detta genererar ett syntax error i insert statementet.

<!-- #include virtual="\jwl\adovbs.inc" -->

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver_ (*.mdb)}; DBQ=" & Server.MapPath_("\jwl\db\links.mdb"))

SQL = "INSERT INTO links (adress,text,kategori) VALUES ('" & _
Request.Form("adress") & "','" & _
Request.Form("text") & "','" & _
Request.Form("kategori") & "')"
conn.Execute(SQL)%>
%>

------------------

Medlem sedan dec. 19996 721 inlägg
#8

Såvida datatyperna är rätt (strängar överallt) verkar det där helt korrekt. Kolla värdet i variabeln SQL. Kanske något konstigt där.

mvh

Medlem sedan maj 20007 inlägg
#9

Problemet är löst!
Felet låg i att \ tecknet skulle vara / istället i include filen i början.

Tack för hjälpen ändå

------------------

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)