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