ASP SQL stored procedure probleem

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

  • ronjon
  • Registratie: Oktober 2001
  • Laatst online: 13-08 21:18
ik heb de volgende stored procedure gemaakt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
CREATE PROCEDURE dbo.search
@category varchar(255),
@sales varchar(255),
@build varchar(255),
@price varchar(255),
@place varchar(255)

AS
DECLARE @teller int
DECLARE @sqlTmp varchar(1000)
SELECT @sqlTmp = ""
SELECT @teller = 0
If @category <> 'all'
    SELECT @teller = @teller + 1
    IF @teller = 1
        begin
            PRINT 'teller = '
            SELECT @sqlTmp = @sqlTmp + "WHERE object_categorie = " + @category + " "
        end
    ELSE
        begin
            PRINT 'teller>1' + @teller
            SELECT @sqlTmp = @sqlTmp + "AND object_categorie = " + @category + " "
        end

If @sales <> 'all'
    SELECT @teller = @teller + 1
    If @teller = 1 
        begin
            SELECT @sqlTmp = @sqlTmp + "WHERE object_koop = " + "'" + @sales + "'" + " "
        end
    else
        begin
            SELECT @sqlTmp = @sqlTmp + "AND object_koop = " + "'" + @sales+ "'" + " "
    end

If @build <> 'all'
    SELECT @teller = @teller + 1
    If @teller = 1 
        begin
            SELECT @sqlTmp = @sqlTmp + "WHERE object_bouw = " + "'" + @build + "'" + " "
        end
    else
        begin
            SELECT @sqlTmp = @sqlTmp + "AND object_bouw = " + "'" + @build + "'" + " "
        end

If @price <> ''
    begin
        SELECT @sqlTmp = @sqlTmp + "AND object_prijs > 0 "
    end

If @place <> 'all'
    SELECT @teller = @teller + 1
    If @teller = 1 
        begin
            SELECT @sqlTmp = @sqlTmp + "WHERE object_plaats = " + @place + " "
        end
    else 
        begin
            SELECT @sqlTmp = @sqlTmp + "AND object_plaats = " + @place + " "
        end

PRINT @sqlTmp


DECLARE @sSql varchar(255)
    SELECT @sSql =  "SELECT * FROM object "
    SELECT @sSql = @sSql + @sqlTmp
/*
PRINT @sSql
PRINT Left(@sSql,Len(@sSql)-1)
EXEC @sSql
*/
SELECT @sSql
EXEC @sSql
GO


Als ik deze run met
code:
1
2
3
4
5
category = "1"
sales = "koop"
build = "bestaand"
priceoff = "10"
place = "5"


krijg ik de volgende error:
Server: Msg 203, Level 16, State 2, Procedure search, Line 76
[Microsoft][ODBC SQL Server Driver][SQL Server]The name 'SELECT * FROM object WHERE object_categorie = 1 AND object_koop = 'koop' AND object_bouw = 'bestaand' AND object_prijs > 0 AND object_plaats = 5 ' is not a valid identifier.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:40
P&W is een forum voor een door programmeurs. Het is een plek waar er van de topicstarter (jij dus) inzet verwacht wordt. Inzet is iets anders dan hier een lap code posten, zeggen en zeggen dat je een fout krijgt. Dit is gewoon een verkapte 'hier mijn code, debug eens even voor mij'.
Daar doen we niet aan mee, er wordt van jou - als topicstarter- inzet verwacht. Ga dus je code debuggen, inspecteer het statement dat voor de fout zorgt, sla er eventueel de help-files op na, en verbeter je code.

Het is hier geen plek waar je zomaar code met bugs enzo kunt dumpen om ze dan een uurtje later gefixed terug op te halen.

[ Voor 11% gewijzigd door whoami op 11-07-2003 12:55 ]

https://fgheysels.github.io/


Dit topic is gesloten.