27. januar 2004 - 16:06Der er
25 kommentarer og 1 løsning
Skrive i database
Dette er mit script
<% ' Databaseforbindelse - husk at angive sti til din database Dim Conn1, DSN1, strSQ, rs1 Set Conn1 = Server.CreateObject("ADODB.Connection") DSN1 = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN1 = DSN1 & "DBQ=" & Server.MapPath("../usersystem/usermgr/usr.mdb") Conn1.Open DSN1
' SQL forespørgsel strSQ = "Select * from users WHERE user = '" & Session("uName") & "'" ' Udfør forespørgsel (rs indeholder nu resultatet) Set rs1 = Conn1.Execute(strSQ)
Response.Write rs1("forename") & "<br>"
strSQ = "Insert into users (id) values (41)"
' SQL sætning eksekveres Conn1.Execute(strSQ)
' Luk databaseforbindelse Conn1.Close Set Conn1 = Nothing %>
Jeg bruger en lege værdig 41, men menigen er at værdien skal komme fra en session.
Jeg får denne fejl
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Index or primary key cannot contain a Null value.
mht fejl i "Conn1.Execute(strSQ)" og "den linie burde jo ikke komme med nogen fejl": det er fordi den afvikler (Execute) "strSQ", som indeholder fejlen..
fejlen er altså i: strSQ = "Insert into users (id) values (41)"
jeg har prøvet både med kolonnen som "tal" men også som "tekst" autonumering er ikke slået til og jeg har prøvet både med tillad nullængde som ja og nej
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.