Смысл DSQL_close в повторном использовании курсора, т.е. вызове execute для того же хендла. Без него execute не прокатит, будет ошибка. Если же это не надо, то юзай DSQL_drop и все.
Дим, вот специально в PS2 не стал этого писать (хотел сэкономил байты в интернете), надеясь, что это мне объяснять не будут. В результате засрал его еще сильнее :-)
ЗЫ. при достижении EOF ресурсы хоть освобождаются, но например запрос не отцепляется от его транзакции. Так что вызов isc_dsql_free() в той или иной форме необходим.
Тут дело в том, что я не знаю - понадобится он второй раз или нет. Понятно, что если понадобится - то я вызываю DSQL_close. Просто подумал о возможной пользе форсированного закрытия курсора.
Коваленко Дмитрий.

