TclODBC should not cache info on columns count if the
count is zero. It is so because the zero value can be a
fake one in case of some ODBC drivers and statements
info before the statements execution. One has then to
drop such a statement and to build it again to make it
work.
Look at
http://sourceforge.net/tracker/index.php?func=detail&aid=1220307&group_id=13173&atid=363173
for more information.
A hack how to solve it, is to put a small code into
statemnt.cxx file just before return from TclObj
TclStatement::ColumnCount() on line 335:
if (0 == colCount) {
colCount = -1;
return 0;
}
Best regards,
Martin