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
[email protected]
http://mail.python.org/mailman/listinfo/python-win32