| FreeTDS API
    | 
Holds information for a dynamic (also called prepared) query. More...
#include <tds.h>
| Public Attributes | |
| bool | defer_close | 
| true if dynamic was marker to be closed when connection is idle | |
| TDS_TINYINT | emulated | 
| this dynamic query cannot be prepared so libTDS have to construct a simple query. | |
| char | id [30] | 
| id of dynamic. | |
| struct tds_dynamic * | next | 
| next in linked list, keep first | |
| TDS_INT | num_id | 
| numeric id for mssql7+ | |
| TDSPARAMINFO * | params | 
| query parameters. | |
| char * | query | 
| saved query, we need to know original query if prepare is impossible | |
| TDS_INT | ref_count | 
| reference counter so client can retain safely a pointer | |
| TDSPARAMINFO * | res_info | 
| query results | |
Holds information for a dynamic (also called prepared) query.
| TDS_TINYINT tds_dynamic::emulated | 
this dynamic query cannot be prepared so libTDS have to construct a simple query.
This can happen for instance is tds protocol doesn't support dynamics or trying to prepare query under Sybase that have BLOBs as parameters.
| char tds_dynamic::id[30] | 
id of dynamic.
Usually this id correspond to server one but if not specified is generated automatically by libTDS
| TDSPARAMINFO* tds_dynamic::params | 
query parameters.
Mostly used executing query however is a good idea to prepare query again if parameter type change in an incompatible way (ie different types or larger size). Is also better to prepare a query knowing parameter types earlier.