SQL stored procedures

Pagina: 1
Acties:

  • ronjon
  • Registratie: Oktober 2001
  • Laatst online: 13-08 21:18
ik heb een stored procedure gemaakt in SQL, waarbij een bedrijfsID de rest van de gegevens bepaald.
In mijn tabel is bedrijfID datatype integer, in mijn procedure ook, maar zogauw ik een waarde wil doorsturen krijg ik de volgende melding

Syntax error converting the varchar value '@bedrijfID' to a column of data type int.

hier is mijn procedure:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE PROCEDURE dbo.printpage
@bedrijfID int
AS
SELECT     dbo.tbl_Bedrijf.bedrijf_ID AS bedrijfid, dbo.tbl_Bedrijf.bedrijf_Naam AS naam, dbo.tbl_Bedrijf.bedrijf_StraatNaam AS straat, 
                      dbo.tbl_Bedrijf.bedrijf_HuisNummer AS nummer, dbo.tbl_Bedrijf.bedrijf_Postcode AS pc, dbo.tbl_Bedrijf.bedrijf_Plaats AS plaats, 
                      dbo.tbl_Bedrijf.bedrijf_TelefoonNummer AS telefoon, dbo.tbl_Bedrijf.bedrijf_FaxNummer AS fax, dbo.tbl_Tarief.tarief_M1 AS tarm1, 
                      dbo.tbl_Tarief.tarief_Overdekt AS taroverdekt, dbo.tbl_Tarief.tarief_Buiten AS tarbuiten, dbo.tbl_Tarief.tarief_M2 AS tarm2, 
                      dbo.tbl_Tarief.tarief_Ophaal AS tarophaal, dbo.tbl_Aanbod.aanbod_PlaatsOverdekt AS aantalover, 
                      dbo.tbl_Aanbod.aanbod_PlaatsBuiten AS aantalbuiten, dbo.tbl_Tekst.tekst_Inhoud AS tekst
FROM         dbo.tbl_Bedrijf LEFT OUTER JOIN
                      dbo.tbl_Tarief ON dbo.tbl_Bedrijf.bedrijf_ID = dbo.tbl_Tarief.bedrijf_ID LEFT OUTER JOIN
                      dbo.tbl_Aanbod ON dbo.tbl_Bedrijf.bedrijf_ID = dbo.tbl_Aanbod.bedrijf_ID LEFT OUTER JOIN
                      dbo.tbl_Tekst ON dbo.tbl_Bedrijf.bedrijf_ID = dbo.tbl_Tekst.bedrijf_ID
WHERE     (dbo.tbl_Bedrijf.bedrijf_ID = '@bedrijfID')
ORDER BY dbo.tbl_Bedrijf.bedrijf_Naam
GO


hier is mijn asp:

code:
1
2
3
4
5
Dim bedrijfID
bedrijfID = 1

sSql = "printpage " & bedrijfID
SET rs = ExecuteQueryReturnRS(sSql)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Syntax error converting the varchar value '@bedrijfID' to a column of data type int.
Je wilt dus een tekst gaan converten naar datatype int en dat kan niet?

Lijkt me een vrij duidelijke foutmelding. En verder zijn er genoeg voorbeelden om met Stored Procedures en parameters te werken, imho.

http://www.aspfree.com/authors/adrian/returnvalue.asp is een mooi voorbeeld, iig.
Onder mij is een beter antwoord.. :P

[ Voor 47% gewijzigd door gorgi_19 op 06-05-2003 14:37 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Je probleem zit hier:

SQL:
1
WHERE     (dbo.tbl_Bedrijf.bedrijf_ID = '@bedrijfID')


Je zegt 'm hier dat hij de string @bedrijfID in een integer moet frotten. En dat gaat niet, dat klopt...

//edit
voor alle duidelijkheid: die quotes moet je weghalen, dan lijkt het wel te moeten werken..

[ Voor 23% gewijzigd door Verwijderd op 06-05-2003 14:37 ]


  • akakiwi
  • Registratie: September 2000
  • Laatst online: 20-03 11:13

akakiwi

I believe in the ruling class.

Je moet de quotjes om '@BedrijfsID' weghalen, zoals hezik ook al zegt.
Dan werkt het zeker, moet wel.

| Life is a game (and games are fun) | homepage |


  • ronjon
  • Registratie: Oktober 2001
  • Laatst online: 13-08 21:18
yeps, hij werkt. Errug bedankt

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:17
Gewoon in acht houden:
rond alfanumerieke waardes moeten quotes, rond numerieke waardes mogen geen quotes.

https://fgheysels.github.io/


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
en misschien nog een tip: bouw je queries eerst op in Query Analyser of via de Query Table optie in Enterprise Manager. Dan vis je dit soort fouten er direct uit.
Pagina: 1