Dit is echt het vreemdste probleem dat ik ooit ben tegengekomen geloof ik 
Heb het vanmiddag al even via ICQ aan Yarvieh voorgelegd, maar die zag het ook niet.
De situatie is alsvolgt: ik heb een stored procedure of een view, die een recordset returned. Als ik de SQL code uit zo'n SP of view in de Query Analyzer stop, dan komt er netjes de recordset uit die ik wil. Alle velden zijn gevuld, alle waardes kloppen.
Echter, als ik die recordset uit zo'n view of SP met ASP (Vbscript) wil tonen, dan worden sommige velden opeens leeg. Als ik ze met een response.write wil printen, dan wordt er gewoon niets weergegeven.
Zie hier (het relevante gedeelte van) de code:
En dit is de view die daarbij hoort:
Wat is nou het gekke? Dat als ik het veld new_price wil printen, er niets geprint wordt (pPrice). Hetzelfde geldt voor het veld sku (pPartnumber). Echter, als ik de comment die voor eerste response.write weghaal, dan zit er opeens wél een waarde in dat veld. Nog steeds niet in pPartnumer.
Als ik echter de tweede response.write uncomment, dan wordt de prijs weer leeg en ook smallImageUrl.
Ik snap er werkelijk waar helemaal niks van.. heeft iemand enig idee waar dit door kan komen?
Heb het vanmiddag al even via ICQ aan Yarvieh voorgelegd, maar die zag het ook niet.
De situatie is alsvolgt: ik heb een stored procedure of een view, die een recordset returned. Als ik de SQL code uit zo'n SP of view in de Query Analyzer stop, dan komt er netjes de recordset uit die ik wil. Alle velden zijn gevuld, alle waardes kloppen.
Echter, als ik die recordset uit zo'n view of SP met ASP (Vbscript) wil tonen, dan worden sommige velden opeens leeg. Als ik ze met een response.write wil printen, dan wordt er gewoon niets weergegeven.
Zie hier (het relevante gedeelte van) de code:
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
| <%
' variabelen
Dim Recordset1
Dim Recordset1_numRows
Dim Repeat1__numRows
Dim Repeat1__index
Dim pSmallImageUrl, pCatId, pProductId, pBrand, pDesc, pPrice
' recordset
Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_conn_kick_STRING
Recordset1.Source = "SELECT * FROM dbo.view_getspecials_all"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()
Recordset1_numRows = 0
Repeat1__numRows = -1
Repeat1__index = 0
Recordset1_numRows = Recordset1_numRows + Repeat1__numRows
' 3... 2... 1... lift-off \o/
While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF))
'response.write("<!-- " & Recordset1.Fields.Item("new_price").Value & "-->")
'response.write("<!-- " & Recordset1.Fields.Item("sku").Value & "-->")
pSmallImageUrl = Recordset1.Fields.Item("smallImageUrl").Value
pCatId = Recordset1.Fields.Item("catid").Value
pProductId = Recordset1.Fields.Item("idproduct").Value
pBrandName = Recordset1.Fields.Item("brandname").Value
pDesc = Recordset1.Fields.Item("description").Value
pPrice = round(Recordset1.Fields.Item("new_price").Value, 2)
pPartnumber = Recordset1.Fields.Item("sku").Value
%>
<!-- blah blah veel HTML code eromheen -->
<%= pCatId %>
<%= pProductId %>
<%= pSmallImageUrl %>
<%= pBrandName %>
<%= pDesc %>
<%= pPrice %>
<%= pPartnumber %>
<!-- blah blah veel HTML code eromheen -->
<%
Repeat1__index = Repeat1__index+1
Repeat1__numRows = Repeat1__numRows-1
Recordset1.MoveNext()
Wend
%> |
En dit is de view die daarbij hoort:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| SELECT TOP 100 products.idProduct,
products.description,
products.price * 0.01 * categories.custom_percentage + products.price AS new_price,
products.smallImageUrl,
products.sku,
products.catid,
brands.brandname
FROM products
LEFT OUTER JOIN brands
ON products.idbrand = Brands.IdBrand
INNER JOIN categories
ON products.catid = categories.idCategory
WHERE (products.active = - 1) AND
(products.removed = 0)
ORDER BY brands.brandName ASC |
Wat is nou het gekke? Dat als ik het veld new_price wil printen, er niets geprint wordt (pPrice). Hetzelfde geldt voor het veld sku (pPartnumber). Echter, als ik de comment die voor eerste response.write weghaal, dan zit er opeens wél een waarde in dat veld. Nog steeds niet in pPartnumer.
Als ik echter de tweede response.write uncomment, dan wordt de prijs weer leeg en ook smallImageUrl.
Ik snap er werkelijk waar helemaal niks van.. heeft iemand enig idee waar dit door kan komen?