grantballantyne
asked on
SQL Syntax within Dreamweaver Recordset
Dear Experts
I have a dreamweaver recordset (ASP , VbScript) as follows:
'SELECT * FROM dbo.menu_categories WHERE subcategory LIKE ?'
I have a problem with the following subcategory values:
Forage Seeds
Grass Seeds
The problem is that the recordset is returning records for both. I guess this is due to the 'LIKE' in the SQL statement.
Can anyone suggest a way around this. Using '=' does not return any values.
Thanks
I have a dreamweaver recordset (ASP , VbScript) as follows:
'SELECT * FROM dbo.menu_categories WHERE subcategory LIKE ?'
I have a problem with the following subcategory values:
Forage Seeds
Grass Seeds
The problem is that the recordset is returning records for both. I guess this is due to the 'LIKE' in the SQL statement.
Can anyone suggest a way around this. Using '=' does not return any values.
Thanks
ASKER
thanks angel,
see code below for the recordset:
<%
Dim categories__MMColParam
categories__MMColParam = "1"
If (Request.QueryString("subc ategory") <> "") Then
categories__MMColParam = Request.QueryString("subca tegory")
End If
%>
<%
Dim categories
Dim categories_cmd
Dim categories_numRows
Set categories_cmd = Server.CreateObject ("ADODB.Command")
categories_cmd.ActiveConne ction = MM_borderfarmsupplies_STRI NG
categories_cmd.CommandText = "SELECT * FROM dbo.subcategory_links WHERE linksubcategory like ? ORDER BY linksupplierrange ASC"
categories_cmd.Parameters. Append categories_cmd.CreateParam eter("para m1", 200, 1, 30, "%" + categories__MMColParam + "%") ' adVarChar
categories_cmd.Prepared = true
Set categories = categories_cmd.Execute
categories_numRows = 0
%>
thanks
see code below for the recordset:
<%
Dim categories__MMColParam
categories__MMColParam = "1"
If (Request.QueryString("subc
categories__MMColParam = Request.QueryString("subca
End If
%>
<%
Dim categories
Dim categories_cmd
Dim categories_numRows
Set categories_cmd = Server.CreateObject ("ADODB.Command")
categories_cmd.ActiveConne
categories_cmd.CommandText
categories_cmd.Parameters.
categories_cmd.Prepared = true
Set categories = categories_cmd.Execute
categories_numRows = 0
%>
thanks
This
'SELECT * FROM dbo.menu_categories WHERE subcategory LIKE %Forage%'
will return all results that has Forage in the subcategory names
and this
'SELECT * FROM dbo.menu_categories WHERE subcategory LIKE %Grass%'
for the other subcategories
'SELECT * FROM dbo.menu_categories WHERE subcategory LIKE %Forage%'
will return all results that has Forage in the subcategory names
and this
'SELECT * FROM dbo.menu_categories WHERE subcategory LIKE %Grass%'
for the other subcategories
If you want any perticular record then query must be like this
SELECT * FROM dbo.menu_categories WHERE subcategory='Forage Seeds'
I think you need something like this
categories_cmd.CommandText
ASKER
thanks
I have changed the recordset to the following:
<%
Dim categories__MMColParam
categories__MMColParam = "1"
If (Request.QueryString("subc ategory") <> "") Then
categories__MMColParam = Request.QueryString("subca tegory")
End If
%>
<%
Dim categories
Dim categories_cmd
Dim categories_numRows
Set categories_cmd = Server.CreateObject ("ADODB.Command")
categories_cmd.ActiveConne ction = MM_borderfarmsupplies_STRI NG
categories_cmd.CommandText = "SELECT * FROM dbo.subcategory_links WHERE linksubcategory =" & categories__MMColParam "' ORDER BY linksupplierrange ASC"
categories_cmd.Parameters. Append categories_cmd.CreateParam eter("para m1", 200, 1, 30, "%" + categories__MMColParam + "%") ' adVarChar
categories_cmd.Prepared = true
Set categories = categories_cmd.Execute
categories_numRows = 0
%>
however this produces the error as follows:
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/countrystores/categorypag e.asp, line 48
categories_cmd.CommandText = "SELECT * FROM dbo.subcategory_links WHERE linksubcategory =" & categories__MMColParam "' ORDER BY linksupplierrange ASC"
-------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ^
thanks
I have changed the recordset to the following:
<%
Dim categories__MMColParam
categories__MMColParam = "1"
If (Request.QueryString("subc
categories__MMColParam = Request.QueryString("subca
End If
%>
<%
Dim categories
Dim categories_cmd
Dim categories_numRows
Set categories_cmd = Server.CreateObject ("ADODB.Command")
categories_cmd.ActiveConne
categories_cmd.CommandText
categories_cmd.Parameters.
categories_cmd.Prepared = true
Set categories = categories_cmd.Execute
categories_numRows = 0
%>
however this produces the error as follows:
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/countrystores/categorypag
categories_cmd.CommandText
--------------------------
thanks
change it like this
categories_cmd.CommandText = "SELECT * FROM dbo.subcategory_links WHERE linksubcategory =" & categories__MMColParam & "' ORDER BY linksupplierrange ASC"
categories_cmd.CommandText
ASKER
thanks
i have updated the recordset as follows:
<%
Dim categories__MMColParam
categories__MMColParam = "1"
If (Request.QueryString("subc ategory") <> "") Then
categories__MMColParam = Request.QueryString("subca tegory")
End If
%>
<%
Dim categories
Dim categories_cmd
Dim categories_numRows
Set categories_cmd = Server.CreateObject ("ADODB.Command")
categories_cmd.ActiveConne ction = MM_borderfarmsupplies_STRI NG
categories_cmd.CommandText = "SELECT * FROM dbo.subcategory_links WHERE linksubcategory =" & categories__MMColParam & "' ORDER BY linksupplierrange ASC"
categories_cmd.Parameters. Append categories_cmd.CreateParam eter("para m1", 200, 1, 30, "%" + categories__MMColParam + "%") ' adVarChar
categories_cmd.Prepared = true
Set categories = categories_cmd.Execute
categories_numRows = 0
%>
however I am now getting the following error when passing the perameter 'Grass Seeds'
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near 'Seeds'.
/countrystores/categorypag e.asp, line 52
thanks again
i have updated the recordset as follows:
<%
Dim categories__MMColParam
categories__MMColParam = "1"
If (Request.QueryString("subc
categories__MMColParam = Request.QueryString("subca
End If
%>
<%
Dim categories
Dim categories_cmd
Dim categories_numRows
Set categories_cmd = Server.CreateObject ("ADODB.Command")
categories_cmd.ActiveConne
categories_cmd.CommandText
categories_cmd.Parameters.
categories_cmd.Prepared = true
Set categories = categories_cmd.Execute
categories_numRows = 0
%>
however I am now getting the following error when passing the perameter 'Grass Seeds'
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near 'Seeds'.
/countrystores/categorypag
thanks again
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
well, what value do you pass as argument?
and what do you expect to get as output?