I'm trying to use prepared statements with the adodbapi module, but
it's not working. I'm using the Visual FoxPro OLE DB drivers, and I'm
worried that this is just something that they can't handle.

Here's some sample code:

---

import adodbapi

conn = adodbapi.connect('Provider=vfpoledb;Data
Source=C:\ClinEsse\Data\Frost_7_12\medimax.dbc;Collating
Sequence=machine')

cur = conn.cursor()
cur.execute("select * from chiro1 where prefix= 'LEG' ")
print [`c` for c in cur.fetchall()]

cur.execute("select * from chiro1 where prefix = ?", ['LEG'])
print [`c` for c in cur.fetchall()]

---

The first "execute" call returns a list of SQLrows, and works fine,
but the second execute call (the prepared statement) raises the
following exception.

Traceback (most recent call last):
  File "test.py", line 9, in <module>
    cur.execute("select * from chiro1 where prefix = ?", ['LEG'])
  File "C:\Python27\lib\site-packages\adodbapi\adodbapi.py", line
1006, in execute
    self._buildADOparameterList(operation,parameters)
  File "C:\Python27\lib\site-packages\adodbapi\adodbapi.py", line 963,
in _buildADOparameterList
    p=getIndexedValue(self.cmd.Parameters,i)
  File "C:\Python27\lib\site-packages\adodbapi\adodbapi.py", line 77,
in getIndexedValue
    return obj(index)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py",
line 186, in __call__
    return 
self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0,
u'ADODB.Parameters', u'Item cannot be found in the collection
corresponding to the
 requested name or ordinal.', u'C:\\Windows\\HELP\\ADO270.CHM',
1240649, -2146825023), None)

I've tried using different paramstyles but the all give the same result.
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to