• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 212
  • Last Modified:

Parameterized Query using ASP

I am creating a form that can be used to calculate shipping costs, depending on location, weight, and shipping method. My problem is how to create the parameterized queries to get the data I need from the SQL server database. My current formresults.asp page (listed below) display's the following error when run:

Microsoft VBScript runtime error '800a01a8'
Object required: 'DataCommand1.Fields(...).Value'
/ppad/formresults.asp, line 34

Any ideas on how to get this working ??? Thanks in advance...

Here's the formresults.asp code:

<%@ Language=VBScript%>
<%dim str_from_state, str_to_state, str_shipping_method, tmp_weight, str_weight, str_UOM
str_from_state = request.Form("select_from_state")
str_to_state = request.Form("select_to_state")
str_shipping_method = request.Form("select_shipping_method")
tmp_weight = request.Form("select_weight")
str_weight = CInt(tmp_weight)
str_UOM = Request.Form("select_UOM")
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<p>Shipment details</p>
<p>shipping from: <%=str_from_state%><br>
shipping to: <%=str_to_state%><br>
using shipping method: <%=str_shipping_method%><br>
with shipping weight: <%=str_weight%>&nbsp<%=str_UOM%><br></p>
what type is shipping weight : <%=typename(str_weight)%>
Set PPAD = Server.CreateObject("ADODB.Connection")
PPAD.ConnectionTimeout = Session("PPAD_ConnectionTimeout")
PPAD.CommandTimeout = Session("PPAD_CommandTimeout")
PPAD.Open Session("PPAD_ConnectionString"), Session("PPAD_RuntimeUserName"), Session("PPAD_RuntimePassword")
Set cmdTemp = Server.CreateObject("ADODB.Command")
Set DataCommand1 = Server.CreateObject("ADODB.Recordset")
cmdTemp.CommandText = "SELECT MIN(minimum_weight), MAX(maximum_weight) FROM dbo.LTL_rate WHERE from_state = '" & str_from_state & "' AND to_state = '" & str_to_state & "' AND unit_of_measure = '" & str_UOM & "';"
cmdTemp.CommandType = 1
Set cmdTemp.ActiveConnection = PPAD
DataCommand1.Open cmdTemp, , 0, 1
set abs_min_weight = DataCommand1.Fields(0).Value
set abs_max_weight = DataCommand1.Fields(1).value
the minimum value = <%=abs_min_weight%>
the maximum value = <%=abs_max_weight%>

1 Solution
For a simple Select with Where clause Query you need not use Parameterized Query. Generally Parameterized Query is used in case of calling stored procedures with parameters. In the code you posted above replace the lines

set abs_min_weight = DataCommand1.Fields(0).Value
set abs_max_weight = DataCommand1.Fields(1).value


abs_min_weight = DataCommand1.Fields(0)
abs_max_weight = DataCommand1.Fields(1)

Hope this should work fine now.

all the best!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now