/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
kan ikke hente mere end en retuneret værdi~
Fra : PNR


Dato : 03-11-03 06:42

Jeg har en stored procedure som retunere 2 variabler, men jeg kan kun
få fat i den ene (den der står først).

Her er min procedure:

CREATE PROC indsaetNyKode
(
@kode varchar(8),
@kundenr bigint,
@kategori int =0 output,
@kategoriNavn varchar(20) = null output
)
AS
begin

SET NOCOUNT ON

select @kategori =kategori from tildelteRelationer where kode = @kode
select @kategoriNavn = kategoriNavn from kategori where kategori =
@kategori

INSERT INTO relationer
(kundenr, kategori, rettighed)
VALUES
(@kundenr, @kategori, 2)

DELETE FROM tildelterelationer WHERE kode = @kode
SET NOCOUNT OFF SELECT @kategoriNavn as kategorinavn
SELECT @Kategori as kategori

end
GO

og min ASP:

Sql = "EXEC indsaetNyKode 'eYjZCvr8',1;"
set rs = Server.CreateObject("ADODB.Recordset")
rs = cn.execute(sql)
response.write "kategori: " & rs("kategori") '<--
linie 79
' response.write "kategorinavn: " &
rs("kategorinavn")

Jeg får følgende fejl:

Fejltype:
ADODB.Fields (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested
name or ordinal.
/test/test.asp, line 79





begin 666 c.gif
K1TE&.#EA`0`!`( ``/___P```"'Y! $`````+ `````!``$```("1 $`.P``
`
end


 
 
Peter Lykkegaard (03-11-2003)
Kommentar
Fra : Peter Lykkegaard


Dato : 03-11-03 09:47

PNR wrote:
> Jeg har en stored procedure som retunere 2 variabler, men jeg
> kan kun få fat i den ene (den der står først).
>
Du har to selects til sidst...

> Her er min procedure:
>
> CREATE PROC indsaetNyKode
> (
> @kode varchar(8),
> @kundenr bigint,
> @kategori int =0 output,
> @kategoriNavn varchar(20) = null output

Erklærer du dine parametre som output
Så _skal_ du bruge command objectet

Flyt evt kategori og kategorinavn ned som lokale variabler
Ala

Declare @kategori int
Declare @kategoriNavn

> SELECT @kategoriNavn as kategorinavn
> SELECT @Kategori as kategori
>
Een select - ellers skal du bruge NextRecordset

SELECT @kategoriNavn as kategorinavn, @Kategori as kategori

>
> Sql = "EXEC indsaetNyKode 'eYjZCvr8',1;"

Jeg mener ikke at du skal bruge EXEC?
Semicolon skal også stryges

> Jeg får følgende fejl:
> Item cannot be found in the collection corresponding to the
> requested name or ordinal.

Du får ikke trukket de rigtige felter
Sandsynligvis fordi du bruger to selects

mvh/Peter Lykkegaard



PNR (04-11-2003)
Kommentar
Fra : PNR


Dato : 04-11-03 06:50

Det var lige hvad jeg havde brug for, jeg takker mange gange

mvh
Peter


"Peter Lykkegaard" <polonline@hotmail.dk> skrev i en meddelelse
news:3fa6155e$0$27374$edfadb0f@dread16.news.tele.dk...
> PNR wrote:
> > Jeg har en stored procedure som retunere 2 variabler, men jeg
> > kan kun få fat i den ene (den der står først).
> >
> Du har to selects til sidst...
>
> > Her er min procedure:
> >
> > CREATE PROC indsaetNyKode
> > (
> > @kode varchar(8),
> > @kundenr bigint,
> > @kategori int =0 output,
> > @kategoriNavn varchar(20) = null output
>
> Erklærer du dine parametre som output
> Så _skal_ du bruge command objectet
>
> Flyt evt kategori og kategorinavn ned som lokale variabler
> Ala
>
> Declare @kategori int
> Declare @kategoriNavn
>
> > SELECT @kategoriNavn as kategorinavn
> > SELECT @Kategori as kategori
> >
> Een select - ellers skal du bruge NextRecordset
>
> SELECT @kategoriNavn as kategorinavn, @Kategori as kategori
>
> >
> > Sql = "EXEC indsaetNyKode 'eYjZCvr8',1;"
>
> Jeg mener ikke at du skal bruge EXEC?
> Semicolon skal også stryges
>
> > Jeg får følgende fejl:
> > Item cannot be found in the collection corresponding to the
> > requested name or ordinal.
>
> Du får ikke trukket de rigtige felter
> Sandsynligvis fordi du bruger to selects
>
> mvh/Peter Lykkegaard
>
>



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408930
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste