Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.
/slutprojekt/admin/varareg_doit.asp, line 31
Och så är ser koden ut:
<%
option explicit
response.buffer=TRUE
Dim conn, rs, sql, sql2, vnamn, besk, enh, pris, artnr, bildurl, lager, bokat, bestpunkt, varuId
If not Session("inloggad")="Ja" Then
response.redirect("login.asp")
End If
%>
<!--#INCLUDE FILE="dbkoppling.inc"-->
<%
vnamn=request.form("vNamn")
besk=request.form("besk")
enh=request.form("enh")
pris=request.form("pris")
artnr=request.form("artnr")
bildurl=request.form("bildurl")
lager=request.form("lager")
bokat=request.form("bokat")
bestpunkt=request.form("bestpunkt")
varuId=request.querystring("varuId")
IF NOT varuId ="" THEN
sql="UPDATE vara SET varuNamn='"&vnamn&"', varuBesk='"&besk&"', enhetstyp='"&enh&"', varuPris='"&pris&"', artnr='"&artnr&"', varuBildUrl='"&bildurl&"' WHERE varuId="&varuId&";"
conn.execute(sql)
[b]sql="UPDATE varalager SET lager="&lager&", bokat="&bokat&", bestpunkt="&bestpunkt&" WHERE varuId="&varuId&";"
[/b] conn.execute(sql)
ELSE
sql="INSERT INTO vara(varuNamn, varuBesk, enhetstyp, varuPris, artnr, varuBildUrl, kundPnr) VALUES('"&vnamn&"', "&besk&"', '"&enh&"', '"&pris&"', '"&artnr&"', '"&bildurl&"');"
conn.Execute(sql)
sql2="SELECT TOP 1 kundId FROM kund order by kundId desc;"
Set rs=conn.Execute(sql2)
varuId=rs("varuId")
sql="INSERT INTO varaLager(varuId,lager,bokat,bestPunkt) VALUES('"&varuId&"','"&lager&"','"&bokat&"','"&bestpunkt&"');"
conn.execute(sql)
END IF
response.redirect("adm_vara.asp?varuId="&varuId)
conn.Close
Set conn=NOTHING
%>
Värderna lager, bokat och bestpunkt följer med i requesten...det har jag kollat. Fälten i databasen är nummeriska..men när jag provade med en Cint fick jag felet Type mismatch 'Cint
Rad 31 är den i fetstil
Oerhört tacksam för den hjälp jag kan få...som ni ser är det ett slutprojekt och därmed har jag ganska lite tid på mig innan allt skall vara klart. Retar mig att fastna på något som troligtvis är ett struntfel.
------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein
Nej jag kan inte se något direkt frånsett att det avslutande ; är onödigt.
Testa att skriva ut sql-satsen med en response.write
Då kan det vara enklare att se om något värde saknas eller om det saknas ett mellanslag någonstans.
------------------ essentitia preter non sans multiplicandum
Testa att skriva ut sql-satsen med en response.write
Då kan det vara enklare att se om något värde saknas eller om det saknas ett mellanslag någonstans.
Borde jag tänkt på själv..tack :D
Får kolla det imorgon eftersom jag sitter hemma nu och min PWS inte tycker om livet längre. Återkommer om jag inte hittar felet. :e
------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein
Databasfälten skall vara korrekta, och såvitt jag vet är det inte reserverade ord jag använder mig av.
Saken är den att jag hämtat upp info ifrån databasen strax innan...det jag nu försöker göra är att uppdatera den efter de ändringar som användaren kan göra.
------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[string: "pris"]'
/slutprojekt/admin/varareg_doit.asp, line 24
Pris är Currency i databasen så förstår jag att den bör konverteras.
Men hittils har jag inte fått felmeddelanden på den Update-satsen utan den andra där lager, bokat och bestpunkt ligger.
SQL-satsen den nu klagar på ser nu ut så här, tog bort ' runt pris eftersom jag konverterat såsom du sa.
sql4="UPDATE vara SET varuNamn='"&vnamn&"', varuBesk='"&besk&"', enhetstyp='"&enh&"', varuPris="&pris&", artnr='"&artnr&"', varuBildUrl='"&bildurl&"' WHERE varuId="&varuId&";"
conn.execute(sql4)
------------------
"You can not solve todays problems with the same level of thinking that created the problems in the first place" Albert Einstein