[dba-SQLServer]Calling a Sproc with Parameter

Francisco H Tapia fhtapia at hotmail.com
Wed Mar 5 10:35:47 CST 2003


Both points are valid, but in this case the Sproc must be able to handle the
'%'.  Assuming that you are not executing Dynamic Sql in your sproc you
maybe manipulating the sproc to select all Customers not just the active
ones...  Do you have access to Query Analyzer? if so I would test the sproc
in there to make sure it executes w/o errors.  I have found certain errors
to be Access Only.  Such as selecting data from a linked table on another
server.


-Francisco
http://rcm.netfirms.com
----- Original Message -----
From: "Djabarov, Robert" <Robert.Djabarov at usaa.com>
To: <dba-sqlserver at databaseadvisors.com>
Sent: Wednesday, March 05, 2003 7:13 AM
Subject: RE: [dba-SQLServer]Calling a Sproc with Parameter


I will have to respectfully disagree with the previous recommendations.
LIKE will prevent your sp from compiling in the first place, while the usage
of EXEC is very proper in the original code.  Although the suggested form is
still valid, specifying named parameters is actually encouraged for the
clarity of the code, and MS fully supports EXEC sp_PROC @Parm1='<value>',
@Parm2=<value>, etc.

Robert Djabarov
Senior SQL Server DBA
USAA IT/DBMS
* (210) 913-3148 - phone
* (210) 753-3148 - pager

-----Original Message-----
From: Mike and Doris Manning [mailto:mikedorism at ntelos.net]
Sent: Wednesday, March 05, 2003 7:25 AM
To: dba-sqlserver at databaseadvisors.com
Subject: RE: [dba-SQLServer]Calling a Sproc with Parameter

Two things.

1)  Make sure your sproc is looking for LIKE @AccStatus and not = @AccStatus

2)  When you use EXEC, you don't add the name of the parameter.
"EXEC spfrmCustomers 'Active'"

Doris Manning
Database Administrator
Hargrove Inc.
www.hargroveinc.com
-----Original Message-----
From: dba-sqlserver-admin at databaseadvisors.com
[mailto:dba-sqlserver-admin at databaseadvisors.com] On Behalf Of David Emerson
Sent: Tuesday, March 04, 2003 07:01 PM
To: dba-SQLServer at databaseadvisors.com
Subject: [dba-SQLServer]Calling a Sproc with Parameter
I have a button on a form which is used to filter the records.  The code
is -

Private Sub cmdCustomerFilter_Click()

    On Error GoTo Err_cmdCustomerFilter_Click

    If Me!cmdCustomerFilter.Caption = "Show Active" Then
        Me.RecordSource = "EXEC spfrmCustomers @AccStatus = 'Active'"  <-
Problem line
        Me!cmdCustomerFilter.Caption = "Show All"
    Else
        Me.RecordSource = "EXEC spfrmCustomers @AccStatus='%'"
        Me!cmdCustomerFilter.Caption = "Show Active"
    End If
.....

End Sub

In the sproc the parameter is -

@AccStatus varchar(20) = '%'

When I click on the button I get error 2353 - Bad query parameter.  I can
run the query in Query analyser and it runs ok.

If I leave the @AccStatus = 'Active' off then a message appears telling me
that the procedure expects the parameter (so this tells me it is calling the
correct sproc)

I think the problem is in the call but can't put my finger on it.  Any help?



Regards

David Emerson
DALYN Software Ltd
25b Cunliffe St, Johnsonville
Wellington, New Zealand
Ph/Fax (877) 456-1205




More information about the dba-SQLServer mailing list