2011-03-23 53 views
0
//ACCESS 
SELECT DISTINCT products.imageUrl FROM products WHERE ((products.pcprod_ParentPrd=5573) AND (products.pcprod_Relationship LIKE '*441*')); 

//ASP 
SELECT DISTINCT products.imageUrl FROM products WHERE ((products.pcprod_ParentPrd="&pidProduct&") AND (products.pcprod_Relationship LIKE '*"&rsCS("idoptoptgrp")&"*')); 

此查询在手动运行Access数据库中的查询时起作用。但是当我从ASP运行它。它不返回并且行ASP和Acess DB - “Like”查询问题

回答

3

@ user670111:在您的ASP中,您必须使用%而不是*作为通配符。

因此重写ASP查询作为

SELECT DISTINCT products.imageUrl FROM products WHERE (products.pcprod_ParentPrd = " & pidProduct & ") AND (products.pcprod_Relationship LIKE '%" & rsCS("idoptoptgrp") & "%') 
+0

这是假设在ASP你使用ADO/OLEDB执行的SQL。如果你使用DAO(我不太可能,我知道),*通配符会起作用。 – 2011-03-27 21:35:35

+1

@ David-W-Fenton:这与用户670111回应说使用我的答案解决问题的可能性相当。 ;-P – stealthyninja 2011-03-27 21:46:00

+1

谢谢先生!我正在使用ADO/OLEDB – danniel 2011-03-31 19:02:46

0

也许& RSCS(“idoptoptgrp”)是不是你期待它成为pidProduct的价值?

请问,当你尝试它的工作... ((products.pcprod_ParentPrd=" & 5573 & ") AND (products.pcprod_Relationship LIKE '*" & 441 & "*'));