I have upgraded to CS3 from an older version of Dreamweaver.
Now, when I call the SQL for a document created in an older
version, it is changing the whole Recordset syntax. In addition, my
old code no longer works.
For example, I am trying to test a field in my database:
If a passed parameter is equal to ALL or if the database
field is equal to the passed parameter
I want to see the record.
When I open this document in CS3 it first starts with error
message saying I am missing the variable type.
Then, I get TOO FEW PARAMETERS
The problem seems to be when I compare fCat = 'All' OR
Category LIKE 'fCat'
If I do either one separately it works fine, but it will not
allow both tests.
Can anyone help? I have a ton of sites which have database
and ASP code in them and I need to know what I can do to easily
convert these without problems.
Thanks.
Here is the old code which worked fine in the older version:
<%
Dim Addresses__MMColParam
Addresses__MMColParam = "Korhonen"
If (Session("SSuser") <> "") Then
Addresses__MMColParam = Session("SSuser")
End If
%>
<%
Dim Addresses__fCat
Addresses__fCat = "All"
If (TestCat <> "") Then
Addresses__fCat = TestCat
End If
%>
<%
Dim Addresses__sortby
Addresses__sortby = "LastName"
If (TestSort <> "") Then
Addresses__sortby = TestSort
End If
%>
<%
Dim Addresses__fName
Addresses__fName = "All"
If (TestFirst <> "") Then
Addresses__fName = TestFirst
End If
%>
<%
Dim Addresses__lName
Addresses__lName = "All"
If (TestLast <> "") Then
Addresses__lName = TestLast
End If
%>
<%
Dim Addresses__fComp
Addresses__fComp = "All"
If (TestComp <> "") Then
Addresses__fComp = TestComp
End If
%>
<%
Dim Addresses
Dim Addresses_numRows
Set Addresses = Server.CreateObject("ADODB.Recordset")
Addresses.ActiveConnection = MM_upload_STRING
Addresses.Source = "SELECT * FROM Address WHERE User = '" +
Replace(Addresses__MMColParam, "'", "''") + "' AND ('" +
Replace(Addresses__fCat, "'", "''") + "' = 'All' OR Category LIKE
'" + Replace(Addresses__fCat, "'", "''") + "') AND ('" +
Replace(Addresses__fName, "'", "''") + "' = 'All' OR FirstName LIKE
'" + Replace(Addresses__fName, "'", "''") + "') AND ('" +
Replace(Addresses__lName, "'", "''") + "' = 'All' OR LastName LIKE
'" + Replace(Addresses__lName, "'", "''") + "') AND ('" +
Replace(Addresses__fComp, "'", "''") + "' = 'All' or Company LIKE
'" + Replace(Addresses__fComp, "'", "''") + "') ORDER BY " +
Replace(Addresses__sortby, "'", "''") + ""
Addresses.CursorType = 0
Addresses.CursorLocation = 2
Addresses.LockType = 1
Addresses.Open()
Addresses_numRows = 0
%>
Here is the code generated by CS3
<%
Dim Addresses__MMColParam
Addresses__MMColParam = "Korhonen"
If (Session("SSuser") <> "") Then
Addresses__MMColParam = Session("SSuser")
End If
%>
<%
Dim Addresses__fCat
Addresses__fCat = "All"
If (TestCat <> "") Then
Addresses__fCat = TestCat
End If
%>
<%
Dim Addresses__sortby
Addresses__sortby = "LastName"
If (TestSort <> "") Then
Addresses__sortby = TestSort
End If
%>
<%
Dim Addresses__fName
Addresses__fName = "All"
If (TestFirst <> "") Then
Addresses__fName = TestFirst
End If
%>
<%
Dim Addresses__lName
Addresses__lName = "All"
If (TestLast <> "") Then
Addresses__lName = TestLast
End If
%>
<%
Dim Addresses__fComp
Addresses__fComp = "All"
If (TestComp <> "") Then
Addresses__fComp = TestComp
End If
%>
<%
Dim Addresses
Dim Addresses_cmd
Dim Addresses_numRows
Set Addresses_cmd = Server.CreateObject ("ADODB.Command")
Addresses_cmd.ActiveConnection = MM_upload_STRING
Addresses_cmd.CommandText = "SELECT * FROM Address WHERE User
= ? AND (? = 'All' OR Category LIKE 'fCat') AND (? = 'All' OR
FirstName LIKE 'fName') AND (? = 'All' OR LastName LIKE 'lName')
AND (? = 'All' or Company LIKE 'fComp') ORDER BY ?"
Addresses_cmd.Prepared = true
Addresses_cmd.Parameters.Append
Addresses_cmd.CreateParameter("param1", 200, 1, 255,
Addresses__MMColParam) ' adVarChar
Addresses_cmd.Parameters.Append
Addresses_cmd.CreateParameter("param2", 200, 1, 255,
Addresses__fCat) ' adVarChar
Addresses_cmd.Parameters.Append
Addresses_cmd.CreateParameter("param3", 200, 1, 255,
Addresses__fName) ' adVarChar
Addresses_cmd.Parameters.Append
Addresses_cmd.CreateParameter("param4", 200, 1, 255,
Addresses__lName) ' adVarChar
Addresses_cmd.Parameters.Append
Addresses_cmd.CreateParameter("param5", 200, 1, 255,
Addresses__fComp) ' adVarChar
Addresses_cmd.Parameters.Append
Addresses_cmd.CreateParameter("param6", 200, 1, 255,
Addresses__sortby) ' adVarChar
Set Addresses = Addresses_cmd.Execute
Addresses_numRows = 0
%>