Har problem att få kontakt med databasen plötsligt då jag gjorde om databasens primärnyckel code_no (som innehöll unika bokstavs och sifferkombinationer) till
primärnyckel code_no (räknare) i stället
Denna kod nedan hade jag innan då allt fungerade bra:
<%code_no=Request.Querystring("code_no")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(databas_db_name)
sql = "SELECT * FROM products where code_no = '" & code_no & "' ORDER BY ems"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3%>
Felmeddelandet jag får är
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
Du hanterar kolumnen som en sträng, då blir det typblandningsfel. Jag satte även en Clng()-konvertering på ditt värde, så skyddar det mot sk. SQL-injections (farlig kod) också.
<%code_no=clng(Request.Querystring("code_no"))
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(databas_db_name)
sql = "SELECT * FROM products where code_no = " & code_no & " ORDER BY ems"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3%>
/red. Det kan även vara värt att byta din connectionstring mot detta; en snabbare drivrutin.