Hi,

  Sorry about the simple question but I am very new to Python. 

  Anyway, I have a function that will be used to call a stored procedure and I 
need to format the string with the correct number of parameter markers for the 
ODBC driver, fairly standard stuff.   

  What I have works but looks ugly, is there a better way to build or 
concatenate a string or is a list or a tuple a better option?

the function looks like this

  def callSp(self, schema, spName) :
   sqlCode = "{call " + schema + "." + spName + "("
   par_Markers = ""
   y = len(self.param)
   x = 0
   while x < y :
     par_Markers = par_Markers.join("?")
     if (x < y - 1) :
       par_Markers = par_Markers.join(", ")
     x += 1
   self.cmdText = sqlCode + par_Markers + ")}"
   self.ExecuteCursor()

   return

self.param is a list of parameters.  sself.cmdText is the text that will be 
used to call the stored procedure.

the function would be called like this

  class.AddParameter(some value 1)
  class.AddParameter(some value 2) 
  callSp("schemaName", "storedProcedureName")
  
  the self.cmdText will look like this just before the ExecuteCursor call 

  "{call schemaName.StoredProcedureName(?, ?)}"

  the code works, but as I said is a bit ugly, is there better methods?

  thanks 

  Dennis
  
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to