[MSSQL] Stored Procedure Probleem

Pagina: 1
Acties:

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Ik heb aan de hand van een aantal topics op GoT / webtutorials een Stored Procudure gemaakt voor SqlServer. Deze ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Alter Procedure "SPlinks" 
    @kolom_num int
As
    Declare @sql nvarchar(255)
    Set @sql = N'SELECT links.linkID, links.naam, links.hyperlink, '
        + 'stam_link_catagorien.naam AS catagorienaam, stam_link_catagorien.kolom '
        + 'FROM links '
        + 'LEFT OUTER JOIN stam_link_catagorien '
        + 'ON links.catagorieID = stam_link_catagorien.catagorieID '
        + 'WHERE catagorie.kolom =' + @kolom_num + ' '
        + 'ORDER BY stam_link_catagorien.kolom, stam_link_catagorien.naam, links.naam '

    Exec(@sql)


Wanneer ik deze uitvoer met ASP krijg ik de volgende foutmelding:

code:
1
2
3
4
5
6
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the 
nvarchar value 'SELECT links.linkID, links.naam, links.hyperlink, 
stam_link_catagorien.naam AS catagorienaam, stam_link_catagorien.kolom FROM 
links LEFT OUTER JOIN stam_link_catagorien ON links.catagorieID = 
stam_link_catagorien.catagorieID WHERE catagorie.kolom =' to a column of data 
type int.


Ik heb zo'n vermoeden dat sql probeert een kolom aan te maken met daarin numerieke waarden, het is echter mijn bedoeling dat er gewoon een recordset mee wordt aangemaakt op basis van het nummer van de kolom.

Weet iemand hoe ik er voor kan zorgen dat sql de select uitvoert op basis van de @kolom_num

BVD

[ Voor 42% gewijzigd door faabman op 11-01-2003 15:20 . Reden: Verkeerde knopje ingedrukt ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Laat die N' eens weg.

Verwijderd

Waarom maak je eerst een SQL string :? Dat is helemaal niet nodig, probeer eens:

SELECT blablabla FROM links JoinGeneuzel WHERE catagorie.kolom = @kolom_num ORDER BY stam_link_catagorien.kolom, stam_link_catagorien.naam, links.naam

Dit is wel zo makkelijk :)

/Edit: Je kan het probleem ook oplossen door STR(@kolom_num) te doen om de int eerst naar een string te converten

[ Voor 19% gewijzigd door Verwijderd op 11-01-2003 15:36 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Thnx
Verwijderd schreef op 11 januari 2003 @ 15:36:
Waarom maak je eerst een SQL string :? Dat is helemaal niet nodig, probeer eens:

SELECT blablabla FROM links JoinGeneuzel WHERE catagorie.kolom = @kolom_num ORDER BY stam_link_catagorien.kolom, stam_link_catagorien.naam, links.naam

Dit is wel zo makkelijk :)

/Edit: Je kan het probleem ook oplossen door STR(@kolom_num) te doen om de int eerst naar een string te converten
Thnx

Ik heb de sql string, de N en de Exec weggehaald en nu doet ie het :D

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:21


Die N geeft toch gewoon aan dat het om een Unicode-string gaat?

https://fgheysels.github.io/