webForumDet fria alternativet

Store Procedure fel

4 svar · 178 visningar · startad av erka

erkaMedlem sedan dec. 19996 522 inlägg
#1

Jag har spn

CREATE PROCEDURE [NewsShow]
@LanguageID varchar(2),
@selectstr varchar(2000),
@NewsDate DateTime
AS

select @selectstr = 'SELECT NewsHeaders.NewsId, NewsHeaders.NewsPublishdate, NewsHeaders.NewsRemovedate, NewsContent.
@selectstr = @selectstr + NewsLanguageid, NewsContent.NewsHeader, NewsContent.NewsContent FROM NewsHeaders 
@selectstr = @selectstr +INNER JOIN NewsContent ON NewsHeaders.NewsId = NewsContent.NewsId 
@selectstr = @selectstr + WHERE NewsPublishdate <= @NewsDate AND NewsRemovedate > @NewsDate  And NewsLanguageId =  @NewsLanguageID 
@selectstr = @selectstr + ORDER BY NewsPublishdate DESC'

EXEC(@selectstr)
GO

Ska nu hämta ut det med hjälp av asp och jag vet inte riktigt hur jag ska skriva när jag anropar en sp med ett par variabler (LanguageId, NewsDate)

Jag har LanguageID = Gb och NewsDate = Date

jag har tidigare koden

LanguageID = Gb
NewsDate = Date

SET RS = Cn.Execute(SQLStmt)
If Rs.Eof Then
Response.Write""
Rs.Close
Set RS = Nothing
Else
ArrRS = Cn.Execute(SQLStmt).getrows()
Session.LCID = 1053
For y = 0 to ubound(ArrRS,2)
Response.Write ArrRs(0,y)
Next
End If

Mycket tacksam för hjälp

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

LarsGMedlem sedan dec. 200012 464 inlägg
#2
sqlstmt = "execute NewsShow '" & Gb & "'," & "'" & newsDate & "'"

conn.execute sqlstmt,,128

@selectstr borde inte vara en parameter utan en lokal variabel

Din procedur kommer inte att fungera då allt bara är en sträng.

Varför skriver du den som en dynamisk fråga?

------------------
essentitia preter non sans multiplicandum

erkaMedlem sedan dec. 19996 522 inlägg
#3

Jag ska ha 3 sidor med olika språk som ska hämta ut nyheter och jag skickar med värdet i en querystring som kan antigen vara, se, gb eller fr

@selectstr borde inte vara en parameter utan en lokal variabel

Fixade det tog bort @framför, då stämmer det va.

Din procedur kommer inte att fungera då allt bara är en sträng.

Hur menar du där och du skrev att jag byggde den dynamiskt, hur ska jag annars skriva den om jag ska ha kunna skicka med languageID:t, tack föresten!

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det är bara att skriva in deom direkt i frågan

CREATE PROCEDURE NewsShow
@LanguageID varchar(2),
@NewsDate DateTime
AS

SELECT NewsHeaders.NewsId, NewsHeaders.NewsPublishdate, NewsHeaders.NewsRemovedate, 
NewsContent.NewsLanguageid, NewsContent.NewsHeader, NewsContent.NewsContent 
FROM NewsHeaders INNER JOIN NewsContent ON NewsHeaders.NewsId = NewsContent.NewsId 
WHERE NewsPublishdate <= @NewsDate 
AND NewsRemovedate > @NewsDate And NewsLanguageId = @NewsLanguageID 
ORDER BY NewsPublishdate DESC

GO

------------------
essentitia preter non sans multiplicandum

erkaMedlem sedan dec. 19996 522 inlägg
#5

Your the MAN with CAPITAL MAN !

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)