Path: utzoo!mnetor!ghp!heman From: heman@ghp.UUCP (Heman Choy) Newsgroups: comp.databases Subject: Informix ESQL/C: techincal question Keywords: Informix, ESQL?C Message-ID: <821@ghp.UUCP> Date: 23 Apr 91 20:17:30 GMT Organization: Gellman Hayward & Partners Ltd. Lines: 33 Question: How can I make a cursor-identifier dynamic on the DECLARE and FETCH statment in Informix ESQL/C? I am writing Informix ESQL/C applications and need to make the cursor-identifier variable. For example, in $declare curs1 cursor for select .... how can I make curs1 a variable in my function, so that I can use the same function for various cursors? Is it possible to do that at all? I have tried going into the generated C code from esql and modified the _SQCURSOR identifier into an array, and pass an index number to the function to specify the cursor, but no success. i.e.: #include static _SQCURSOR _SQ1[10], _SQ2, ... /* originally: static _SQCURSOR _SQ1, SQ2, ... */ : void fn(char *cur_id, int idx) { : strcpy(str,"select field1 from db_view"); /* db_view is created elsewhere */ _iqprepare( &_SQ1[idx], str ); _iqddclcur( &_SQ1[idx], cur_id, 32 ); /* cur_id is suplied when fn is called */ _iqopen( &SQ1[idx], ... ); } Your advice is much appreciated!