Avatar billede sbi Nybegynder
03. november 2004 - 11:38 Der er 3 kommentarer og
1 løsning

Konkatenering af streng i Cursor

Jeg prøver at lave en funktion der skal loope gennem en cursor og på den måde lave een lang streng der skal returneres. men når jeg prøver at lave denne går det galt.

Set @Test = @Test + @Item_No

Men laver jeg en enkelt, går det fint (men selvfølgelig kun med den sidste):

Set @Test = @Item_No

Udsnit af min kode:
___________________________________________
FETCH NEXT FROM LinePart_Cursor
INTO @Item_NO, @Description, @Quantity

WHILE @@FETCH_STATUS = 0
BEGIN

  Set @Test = @test + '<br>' + @Item_No

FETCH NEXT FROM LinePart_Cursor
INTO @Item_NO, @Description, @Quantity
End
___________________________________


/SBI
Avatar billede venne Nybegynder
03. november 2004 - 11:57 #1
Nu skriver du ikke hvad der går galt, men det kunne måske være noget med datatyper. Er @Item_No af karakter-type (ex varchar)? Hvis ikke skal du konvertere den med CAST eller CONVERT for at konkatenere den med en streng.
Avatar billede sbi Nybegynder
03. november 2004 - 12:03 #2
Det der går galt er at resultater er en tom streng og Item_no er en Varchar.
Avatar billede sbi Nybegynder
03. november 2004 - 12:06 #3
Hvis jeg erstatter @Item_no med en alm. varchar, eks: '123'

Set @Test = @Test + '123'

Så laver den også samme fejl, altså et tomt resultat
Avatar billede sbi Nybegynder
03. november 2004 - 12:17 #4
Problemet er løst!
Af en eller mærkelig grund er det ikke nok at Declarere variablen @Test den skal også initielt tildeles en værdi (Set @Test = '') ellers kan den ikke konkatenere til den.

Aner ikke hvorfor, men nu virker det.

/SBI
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
Computerworld tilbyder specialiserede kurser i database-management

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