Avatar billede lauge Nybegynder
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
Avatar billede winkill Nybegynder
09. juli 2001 - 14:00 #1
SELECT @txNyhed = txNyhed
    FROM tblNyhed WHERE ID = @ID
Avatar billede winkill Nybegynder
09. juli 2001 - 14:02 #2
Eller...

DECLARE @Nyhed nText
SELECT @Nyhed = txNyhed
    FROM tblNyhed
    WHERE ID = @ID
Avatar billede lauge Nybegynder
09. juli 2001 - 14:07 #3
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???? :-)
Avatar billede winkill Nybegynder
09. juli 2001 - 14:10 #4
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
Avatar billede lauge Nybegynder
09. juli 2001 - 14:20 #5
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 ?? :-)

Avatar billede winkill Nybegynder
09. juli 2001 - 14:32 #6
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\"))
Avatar billede lauge Nybegynder
13. juli 2001 - 13:57 #7
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
Avatar billede lauge Nybegynder
13. juli 2001 - 14:10 #8
Jeg lukker spørgsmålet og opretter det i msSQL debatten. Det er vist også her den burde bo :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester