Får detta fel, kom inte fram innan jag flyttade databasen till MySQL förresten:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
Här är koden:
SQL = "SELECT * from Data WHERE ID = " & Request("ID") & ""
rs.open sql, conn, 2, 2, adCmdText
'Set the table column = to my input text box from my form
rs("Name") = Request("Name")
IF Request("Category") = "" THEN
rs("Category") = Request("AddCategory")
ELSE
rs("Category") = Request("Category")
END IF
IF Request("SubCategory") = "" THEN
rs("SubCategory") = Request("AddSubCategory")
ELSE
rs("SubCategory") = Request("SubCategory")
END IF
IF Request("Species") = "" THEN
rs("Species") = Request("AddSpecies")
ELSE
rs("Species") = Request("Species")
END IF
rs("Source") = Request("Source")
IF NOT Request("Image") = "" THEN
rs("Image") = Request("Image")
END IF
rs("Description") = Request("Description")
rs.update
Sista raden är rad 221, och det är den som det klagas på.
Börja med att ändra denna rad:
SQL = "SELECT * from Data WHERE ID = " & Request("ID") & ""
Till:
SQL = "SELECT * from Data WHERE ID = " & Request("ID")
Det kan visst ha nått att göra med fälten enligt vad jag har sett.
Så här är en lista av fälten:
[B]Name Type Null[/B]
ID int No
Category Varchar(200) Yes
Subcategory Varchar(255) Yes
Name Varchar(200) Yes
Species Varchar(200) Yes
Description text Yes
Image Varchar(200) Yes
Source Varchar(200) Yes
När Id är ett nummeriskt värde så skall det se ut så.
Vad ligger i request("id") då? ett nummeriskt värde?
Prova:
SQL = "SELECT * from Data WHERE ID = " & cInt(Request("ID"))
Hej, gjort några ändringar nu och nu säger det:
Microsoft Cursor Engine (0x80040E38)
Row cannot be located for updating. Some values may have been changed since it was last read.
/wh40k/admin/modify.asp, line 226
linje 226 är den sista raden som innehåller "rs.update"