🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: dk.edb.database
Article #19

Re: expects the parameter '@P2', which was not supplied

#19
From: Leif Neland
Date: Thu, 08 Mar 2012 19:36
88 lines
4256 bytes
Den 08-03-2012 17:36, Arne Vajh�j skrev:
> On 3/8/2012 11:01 AM, Leif Neland wrote:
>> jeg mener jeg g�r dette efter bogen, men det virker ikke.
>> Begge parametre (sessid og productID) findes.
>>
>> set oProd1=Server.CreateObject("ADODB.command")
>> with oProd1
>> .ActiveConnection = Record
>> sql="select * from t_basket where basketSession=? and prodID=?"
>> .CommandText = sql
>> .CommandType = 1 ' adCmdText
>> .parameters.Append
>> .CreateParameter("ses",adChar,adParamInput,50,sessid)
>> .parameters.Append
>> .CreateParameter("prod",adInteger,adParamInput,,productID)
>> .prepared = true
>> set rsSeKurv= .execute
>> end with
>>
>> Jeg f�r fejlen.
>> The parameterized query '(@P1 char(50),@P2 int)select * from t_basket
>> where
>> basketSession' expects the parameter '@P2', which was not supplied.
>>
>> Bytter jeg om p� de to parametre i b�de sql og parameters.Append, er det
>> _stadig_ @P2, der mangler.
>> The parameterized query '(@P1 int,@P2 char(50))select cnt from t_basket
>> where prodID=@P1 ' expects the parameter '@P2', which was not supplied.
>>
>> Jeg mener at fejlen i virkeligheden betyder noget andet end man skulle
>> tro,
>> men jeg kan ikke huske det...
>
> Jeg forst�r ikke den kode.
>
> "select * from t_basket where basketSession=? and prodID=?"
> CreateParameter("ses",adChar,adParamInput,50,sessid)
> CreateParameter("prod",adInteger,adParamInput,,productID)
>
> hvordan skal "?" - "ses" og "?" - "prod" korreleres?
>
> (ODBC vil goere det p� position, men jeg formoder
> at du bruger OLE DB ikke ODBC)
>
> Et eksempel fra lageret:
>
> "SELECT COUNT(*) AS n FROM myusers WHERE un = @un AND pw = @pw"
> CreateParameter("@un", adVarChar, adParamInput, 32)
> CreateParameter("@pw", adVarChar, adParamInput, 32)
>
> hvor jeg bruger samme navn i SQL og i parameters.
>
> (hvis du bruger ODBC s� position bruges, s� har jeg lidt
> mistanke til den manglende l�ngde angivelse i den anden
> parameter)
>

Der skal ikke angives l�ngde p� en adInteger,

Om jeg bruger
select * from t_basket where basketSession=? and prodID=?"
eller
select * from t_basket where prodID=?" and basketSession=?
Og bytter tilsvarende om p� CreateParameter-linierne s� er det @P2 den 
brokker sig over.


ADODB
con.Provider = "sqloledb"
Network Library=dbmssocn;

Denne konstruktion med 3 parametre virker:

set oOrdre=Server.CreateObject("ADODB.command")
oOrdre.ActiveConnection = Record

with oOrdre
	Sql = "Update t_ordrer set ordretotal=?, betaling=? where id=?"
	.CommandText = sql
	.CommandType = adCmdText
	.parameters.Append 
.CreateParameter("ordretotal",adCurrency,adParamInput,,orderTotal)
	.parameters.Append 
.CreateParameter("betaling",adInteger,adParamInput,,intBetaling)
	.parameters.Append .CreateParameter("id",adInteger,adParamInput,,OrdreId)
	.prepared = true
	.execute
end with
Technical Details
Message-ID: <4f590a23$0$293$14726298@news.sunsite.dk>
Path: arc1-ca.pugleaf.net!h9ni3480pbe.0!nntp.google.com!news2.google.com!goblin2!goblin1!goblin.stu.neva.ru!newsreader4.netcologne.de!news.netcologne.de!news.tele.dk!feed118.news.tele.dk!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
References: <4f58d7e7$0$295$14726298@news.sunsite.dk> <4f58e007$0$282$14726298@news.sunsite.dk>

Show Full Headers
Complete Article Headers
X-Google-Thread: fcdf9,6e431ff705133bc8
X-Google-NewGroupId: yes
X-Google-Attributes: gid5233a24ee9,domainid0,public,usenet
X-Google-Language: DANISH,ASCII
Received: by 10.68.189.197 with SMTP id gk5mr109263pbc.1.1331235364265;
        Thu, 08 Mar 2012 11:36:04 -0800 (PST)
Path: arc1-ca.pugleaf.net!h9ni3480pbe.0!nntp.google.com!news2.google.com!goblin2!goblin1!goblin.stu.neva.ru!newsreader4.netcologne.de!news.netcologne.de!news.tele.dk!feed118.news.tele.dk!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Thu, 08 Mar 2012 20:36:06 +0100
From: Leif Neland <leif@neland.dk>
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
Newsgroups: dk.edb.database
Subject: Re: expects the parameter '@P2', which was not supplied
References: <4f58d7e7$0$295$14726298@news.sunsite.dk> <4f58e007$0$282$14726298@news.sunsite.dk>
In-Reply-To: <4f58e007$0$282$14726298@news.sunsite.dk>
Lines: 89
Message-ID: <4f590a23$0$293$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 94.18.45.10
X-Trace: news.sunsite.dk DXC=d[\h]aoQD6kHZJdbckJ<MnYSB=nbEKnkk5^=AYDm^64o<94hk=?Wd0eR1jl;eGK1KcmIOfX9Af6NghTY<Fn_\mJ`
X-Complaints-To: staff@sunsite.dk
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit