09. juli 2001 - 13:55
Der er
7 kommentarer og 1 løsning
Hente fra et \"nText\" felt i Stored Procedures???????
Hej, Jeg kan sq ikke finde ud af det? :-) Jeg vil hente en stor tekst ud af en msSQL database, et nText felt, gennem en stored procedures, fra en ASP side. I min DB er txNyhed sat til et nText felt. I min stored procedures skriver jeg følgende: @txManchet nText OUTPUT, osv.... Jeg er IKKE sikker på om dette er rigtigt? Længere nede i SP skrver jeg følgende: Select @txNyhed = convert(nText,txNyhed) from tblNyhed where ID= @ID Og det er selvfølgelig forkert, men hvon faen få jeg et nText felt ud???? Lige meget hvad jeg skriver, får jeg besked på at bruge convert funktionen, men hvordan? Alt andet i min SP virker 100% som det skal, bare ikke mit nText felt??????? Jeg dør snart! :-) Lauge
Annonceindlæg fra Geoinfo
SELECT @txNyhed = txNyhed FROM tblNyhed WHERE ID = @ID
Eller... DECLARE @Nyhed nText SELECT @Nyhed = txNyhed FROM tblNyhed WHERE ID = @ID
winkill >> Man kan jo ikke Declare @txNyhed når den er defineret som et OUTPUT tidligere. Og så er hele mit problem jo at min Query Analyser kræver jeg converter den til noget andet, men hvad???? :-)
Ups, sorry, havde ikke lige forstået ?\'et. Hvis txNyhed er <4000 chars kan du bruge cast og varchar ellers skal du nok bruge text. SELECT @txNyhed = CAST(txNyhed AS text) FROM tblNyhed WHERE ID = @ID
winkill>> Jeg kan ikke sige hvor mange tegn der vil være i txNyhed. Så hvilken DataType sætter jeg txNyhed til, i toppen når jeg laver den til et OUTPUT. Og hvordan kalder jeg den i min ASP fil? Ex: .Parameters.Append .CreateParameter (\"@txNyhed\", adLongVarWChar, adParamOutput) Hvor \"adLongVarWChar\" så er det som er forkert. Og til sidst, hvordan skriver jeg den sk... convert funktion ?? :-)
Brug \"Text\". Den kan indeholde en kvart zillion tegn eller noget i den retning ;o) Jeg ville bruge CAST i stedet for CONVERT (se koden i sidste svar). I ASP ville jeg skrive det som nedenstående - men der er flere måder at gøre det på, så det er vel mest smag og behag... MS SQL: -- Glem alt om output parametre. SELECT ID AS NyhedID, CAST(txNyhed AS text) AS NyhedText FROM tblNyheder WHERE ID = @ID ASP/VBS: Set objRecordSet = objConnecxtion.Execute(\"EXEC spHentNyhed \'\" & Request(\"NyhedID\") & \"\'\") Call Response.Write(\"Nyhed: \" & Rs(\"NyhedID\") & \"<br>\" & Rs(\"NyhedText\"))
Det virker ikke en meter :-) Hvor kan man ikke gøre således? :-) Eller kan man? Select @txNyhed = convert(?????Men hvad skal der stå her?????????,txNews) from tblNyhed where ID = @ID
Jeg lukker spørgsmålet og opretter det i msSQL debatten. Det er vist også her den burde bo :-)
Kurser inden for grundlæggende programmering