Ado stored procs with parameters

Michel Orengo morganea at bellatlantic.net
Thu Jul 6 13:36:28 EDT 2000


What if you try "rs=cmd.Execute()"?

Michel


"Sam Corder" <scorder at incigna.com> wrote in message
news:CPEKKMGLLILAJEKJNAPDAEEBCBAA.scorder at incigna.com...
> I'm having a bit of trouble using a stored proc on MSSQL that takes
> parameters.  I create a command object and then append the parameters to
it.
> Then I create a recordset object and use the open method passing the
command
> object and a few other parameters.  Unfortunately I get an error saying
that
> the stored proc requires The same parameter that I just added.  Below is
the
> code I'm using.  Any ideas?
>
> Sam Corder
>
> import win32com.client
> constants = win32com.client.constants
>
> class dbcon:
>     def __init__ (self, connect = None):
>         self.connectstr = connect
>     def runSQLReturnRS(self, sql, params = None):
>         if self.connectstr == None:
>             return None
>         else:
>             rs = win32com.client.Dispatch('ADODB.Recordset')
>             cmd = win32com.client.Dispatch('ADODB.Command')
>             cmd.ActiveConnection = self.connectstr
>             cmd.CommandText = sql
>             if params != None:
>                 for parm in params:
>                     cmd.Parameters.Append(cmd.CreateParameter(parm[0],
> parm[1], constants.adParamInput, parm[2], parm[3]))
>
>             rs.Open(cmd, CursorType = constants.adOpenForwardOnly,
LockType
> = constants.adLockReadOnly)
>             return rs
>
>     def __AddParams(self, cmd, params):
>         for parm in params:
>             cmd.Parameters.Append(cmd.CreateParameter(parm[0], parm[1],
> constants.adParamInput, parm[2], parm[3]))
>
> if __name__  == '__main__':
>     db = dbcon("Provider=SQLOLEDB;Data Source=s-incigna2k;User
> Id=msl_login;Password=***;Connect Timeout=5;network
library=dbmssocn;Initial
> Catalog=msl;")
>     params = ("ExpJobID", constants.adInteger, 4, 11),
>     rs = db.runSQLReturnRS("ExpConfig_Get", params)
>     print rs.Fields.Count
>
>
>





More information about the Python-list mailing list