00001
00035 #ifndef SQLDBC_C_H
00036 #define SQLDBC_C_H
00037
00044 #ifdef SQLDBC_FEATURE_TRACEOPTION_OFF
00045 #undef SQLDBC_FEATURE_TRACEOPTION
00046 #else
00047 #define SQLDBC_FEATURE_TRACEOPTION
00048 #endif
00049
00050 #include "SQLDBC_Types.h"
00051
00052 #ifdef __cplusplus
00053 extern "C" {
00054 #endif
00055
00059 #define SQLDBC_CHeaderVersion "SQLDBC_C.H 7.5.0 BUILD 030-000-DEB-003"
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 #ifndef BUILD_INTERFACE_RUNTIME
00071 typedef struct SQLDBC_IRuntime SQLDBC_IRuntime;
00072 #endif
00073
00074 #ifdef WIN32
00075 #define SQLDBC_DLLEXPORT __declspec(dllexport)
00076 #else
00077 #define SQLDBC_DLLEXPORT
00078 #endif
00079
00080 #ifndef BUILD_INTERFACE_RUNTIME
00081 typedef struct SQLDBC_Statement SQLDBC_Statement;
00082 #endif
00083
00087 #ifndef BUILD_INTERFACE_RUNTIME
00088 typedef struct SQLDBC_ErrorHndl SQLDBC_ErrorHndl;
00089 #endif
00090
00096 SQLDBC_DLLEXPORT
00097 SQLDBC_Int4 SQLDBC_ErrorHndl_getErrorCode(SQLDBC_ErrorHndl *hdl);
00098
00104 SQLDBC_DLLEXPORT
00105 char* SQLDBC_ErrorHndl_getSQLState(SQLDBC_ErrorHndl* hdl);
00106
00113 SQLDBC_DLLEXPORT
00114 char * SQLDBC_ErrorHndl_getErrorText(SQLDBC_ErrorHndl* hdl);
00115
00116
00125 #ifndef BUILD_INTERFACE_RUNTIME
00126 typedef struct SQLDBC_SQLWarning SQLDBC_SQLWarning;
00127 #endif
00128
00134 SQLDBC_DLLEXPORT
00135 SQLDBC_SQLWarning* SQLDBC_SQLWarning_getNextWarning(SQLDBC_SQLWarning* hdl);
00136
00142 SQLDBC_DLLEXPORT
00143 SQLDBC_SQLWarningCode SQLDBC_SQLWarning_getWarningCode(SQLDBC_SQLWarning* hdl);
00144
00145
00151 #ifndef BUILD_INTERFACE_RUNTIME
00152 typedef struct SQLDBC_LOB SQLDBC_LOB;
00153 #endif
00154
00155 SQLDBC_DLLEXPORT SQLDBC_LOB* SQLDBC_LOB_new_SQLDBC_LOB();
00156
00157 SQLDBC_DLLEXPORT void SQLDBC_LOB_delete_SQLDBC_LOB(SQLDBC_LOB *lob);
00171 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_putData(SQLDBC_LOB* hdl, void *paramAddr, SQLDBC_Length *paramLengthIndicator);
00172
00178 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_close(SQLDBC_LOB* hdl);
00179
00180
00219 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_getData(SQLDBC_LOB *hdl,
00220 void *paramAddr,
00221 SQLDBC_Length *LengthIndicator,
00222 SQLDBC_Length Size,
00223 SQLDBC_Bool Terminate);
00224
00266
00267 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_getDataByPos(SQLDBC_LOB* hdl,
00268 void *paramAddr,
00269 SQLDBC_Length *LengthIndicator,
00270 SQLDBC_Length Size,
00271 SQLDBC_Length position,
00272 SQLDBC_Bool Terminate);
00273
00283 SQLDBC_DLLEXPORT SQLDBC_Length SQLDBC_LOB_getLength(SQLDBC_LOB *hdl);
00284
00292 SQLDBC_DLLEXPORT SQLDBC_Length SQLDBC_LOB_getPosition(SQLDBC_LOB* hdl);
00293
00294
00306 SQLDBC_DLLEXPORT SQLDBC_Length SQLDBC_LOB_getPreferredDataSize(SQLDBC_LOB* hdl);
00307
00308
00313 #ifndef BUILD_INTERFACE_RUNTIME
00314 typedef struct SQLDBC_ParameterMetaData SQLDBC_ParameterMetaData;
00315 #endif
00316
00317 #ifndef __cplusplus
00318 typedef
00319 #endif
00320 enum ParameterNullBehavior {
00324 parameterNoNulls = 0,
00325
00329 parameterNullable = 1,
00330
00334 parameterNullableUnknown = 2
00335 }
00336 #ifndef __cplusplus
00337 ParameterNullBehavior
00338 #endif
00339 ;
00340
00341 #ifndef __cplusplus
00342 typedef
00343 #endif
00344 enum ParameterMode {
00345
00349 parameterModeUnknown = 0,
00350
00354 parameterModeIn = 1,
00355
00359 parameterModeInOut = 2,
00360
00364 parameterModeOut = 4
00365 }
00366 #ifndef __cplusplus
00367 ParameterMode
00368 #endif
00369 ;
00370
00379 SQLDBC_DLLEXPORT
00380 SQLDBC_Int2 SQLDBC_ParameterMetaData_getParameterCount(SQLDBC_ParameterMetaData* hdl);
00381
00401 SQLDBC_DLLEXPORT
00402 SQLDBC_Retcode SQLDBC_ParameterMetaData_getParameterName(SQLDBC_ParameterMetaData* hdl,
00403 SQLDBC_Int2 param,
00404 char *buffer,
00405 SQLDBC_StringEncodingType_Encoding encoding,
00406 SQLDBC_Length bufferSize,
00407 SQLDBC_Length *bufferLength);
00408
00417 SQLDBC_DLLEXPORT
00418 SQLDBC_SQLType SQLDBC_ParameterMetaData_getParameterType(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00419
00432 SQLDBC_DLLEXPORT
00433 ParameterMode SQLDBC_ParameterMetaData_getParameterMode(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00434
00447 SQLDBC_DLLEXPORT
00448 SQLDBC_Int4 SQLDBC_ParameterMetaData_getParameterLength(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00449
00466 SQLDBC_DLLEXPORT
00467 SQLDBC_Int4 SQLDBC_ParameterMetaData_getPrecision(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00468
00483 SQLDBC_DLLEXPORT
00484 SQLDBC_Int4 SQLDBC_ParameterMetaData_getScale(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00485
00497 SQLDBC_DLLEXPORT
00498 SQLDBC_Int4 SQLDBC_ParameterMetaData_getPhysicalLength(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00499
00513 SQLDBC_DLLEXPORT
00514 ParameterNullBehavior SQLDBC_ParameterMetaData_isNullable(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00515
00516
00521 #ifndef BUILD_INTERFACE_RUNTIME
00522 typedef struct SQLDBC_ResultSetMetaData SQLDBC_ResultSetMetaData;
00523 #endif
00524 #ifndef __cplusplus
00525 typedef
00526 #endif
00527 enum ColumnNullBehavior {
00531 columnNoNulls = 0,
00532
00536 columnNullable = 1,
00537
00541 columnNullableUnknown = 2
00542 }
00543 #ifndef __cplusplus
00544 ColumnNullBehavior
00545 #endif
00546 ;
00554 SQLDBC_DLLEXPORT
00555 SQLDBC_Int2 SQLDBC_ResultSetMetaData_getColumnCount(SQLDBC_ResultSetMetaData* hdl);
00556
00578 SQLDBC_DLLEXPORT
00579 SQLDBC_Retcode SQLDBC_ResultSetMetaData_getColumnName(SQLDBC_ResultSetMetaData* hdl,
00580 SQLDBC_Int2 column,
00581 char *buffer,
00582 SQLDBC_StringEncodingType_Encoding encoding,
00583 SQLDBC_Length bufferSize,
00584 SQLDBC_Length *bufferLength);
00585
00586
00597 SQLDBC_DLLEXPORT
00598 SQLDBC_SQLType SQLDBC_ResultSetMetaData_getColumnType(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00599
00610 SQLDBC_DLLEXPORT
00611 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getColumnLength(SQLDBC_ResultSetMetaData* hdl,SQLDBC_Int2 column);
00612
00627 SQLDBC_DLLEXPORT
00628 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getPrecision(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00629
00644 SQLDBC_DLLEXPORT
00645 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getScale(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00646
00658 SQLDBC_DLLEXPORT
00659 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getPhysicalLength(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00660
00673 SQLDBC_DLLEXPORT
00674 ColumnNullBehavior SQLDBC_ResultSetMetaData_isNullable(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00675
00686 SQLDBC_DLLEXPORT
00687 SQLDBC_Bool SQLDBC_ResultSetMetaData_isWritable(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00688
00689
00701 #ifndef BUILD_INTERFACE_RUNTIME
00702 typedef struct SQLDBC_RowSet SQLDBC_RowSet;
00703 #endif
00704
00715
00716 SQLDBC_DLLEXPORT
00717 SQLDBC_ErrorHndl* SQLDBC_RowSet_getError(SQLDBC_RowSet* hdl);
00718
00723 SQLDBC_DLLEXPORT
00724 void SQLDBC_RowSet_clearError(SQLDBC_RowSet* hdl);
00725
00735
00736 SQLDBC_DLLEXPORT
00737 SQLDBC_SQLWarning* SQLDBC_RowSet_getWarning(SQLDBC_RowSet* hdl);
00738
00743 SQLDBC_DLLEXPORT
00744 void SQLDBC_RowSet_clearWarnings(SQLDBC_RowSet* hdl);
00745
00746
00758 SQLDBC_DLLEXPORT
00759 SQLDBC_Retcode SQLDBC_RowSet_setPos(SQLDBC_RowSet* hdl, SQLDBC_UInt4 pos);
00760
00769 SQLDBC_DLLEXPORT
00770 SQLDBC_Retcode SQLDBC_RowSet_fetch(SQLDBC_RowSet* hdl);
00771
00780 SQLDBC_DLLEXPORT
00781 SQLDBC_Int4 SQLDBC_RowSet_getRowsAffected(SQLDBC_RowSet* hdl);
00782
00796 SQLDBC_DLLEXPORT
00797 SQLDBC_Int4 * SQLDBC_RowSet_getRowStatus(SQLDBC_RowSet* hdl);
00798
00852 SQLDBC_DLLEXPORT
00853 SQLDBC_Retcode SQLDBC_RowSet_getObject(SQLDBC_RowSet* hdl,
00854 SQLDBC_Int4 Index,
00855 SQLDBC_HostType Type,
00856 void *paramAddr,
00857 SQLDBC_Length *LengthIndicator,
00858 SQLDBC_Length Size,
00859 SQLDBC_Bool Terminate);
00860
00917
00918 SQLDBC_DLLEXPORT
00919 SQLDBC_Retcode SQLDBC_RowSet_getObjectByPos(SQLDBC_RowSet* hdl,
00920 SQLDBC_Int4 Index,
00921 SQLDBC_HostType Type,
00922 void *paramAddr,
00923 SQLDBC_Length *LengthIndicator,
00924 SQLDBC_Length Size,
00925 SQLDBC_Length StartPos,
00926 SQLDBC_Bool Terminate);
00927
00928
00940 #ifndef BUILD_INTERFACE_RUNTIME
00941 typedef struct SQLDBC_UpdatableRowSet SQLDBC_UpdatableRowSet;
00942 #endif
00943
00954
00955 SQLDBC_DLLEXPORT
00956 SQLDBC_ErrorHndl* SQLDBC_UpdatableRowSet_getError(SQLDBC_UpdatableRowSet* hdl);
00957
00962 SQLDBC_DLLEXPORT
00963 void SQLDBC_UpdatableRowSet_clearError(SQLDBC_UpdatableRowSet* hdl);
00964
00974
00975 SQLDBC_DLLEXPORT
00976 SQLDBC_SQLWarning* SQLDBC_UpdatableRowSet_getWarning(SQLDBC_UpdatableRowSet* hdl);
00977
00982 SQLDBC_DLLEXPORT
00983 void SQLDBC_UpdatableRowSet_clearWarnings(SQLDBC_UpdatableRowSet* hdl);
00984
00985
00986
00998 SQLDBC_DLLEXPORT
00999 SQLDBC_Retcode SQLDBC_UpdatableRowSet_setPos(SQLDBC_UpdatableRowSet* hdl, SQLDBC_UInt4 pos);
01000
01009 SQLDBC_DLLEXPORT
01010 SQLDBC_Retcode SQLDBC_UpdatableRowSet_fetch(SQLDBC_UpdatableRowSet* hdl);
01011
01020 SQLDBC_DLLEXPORT
01021 SQLDBC_Int4 SQLDBC_UpdatableRowSet_getRowsAffected(SQLDBC_UpdatableRowSet* hdl);
01022
01036 SQLDBC_DLLEXPORT
01037 SQLDBC_Int4 * SQLDBC_UpdatableRowSet_getRowStatus(SQLDBC_UpdatableRowSet* hdl);
01038
01092 SQLDBC_DLLEXPORT
01093 SQLDBC_Retcode SQLDBC_UpdatableRowSet_getObject(SQLDBC_UpdatableRowSet* hdl,
01094 SQLDBC_Int4 Index,
01095 SQLDBC_HostType Type,
01096 void *paramAddr,
01097 SQLDBC_Length *LengthIndicator,
01098 SQLDBC_Length Size,
01099 SQLDBC_Bool Terminate);
01100
01157
01158 SQLDBC_DLLEXPORT
01159 SQLDBC_Retcode SQLDBC_UpdatableRowSet_getObjectByPos(SQLDBC_UpdatableRowSet* hdl,
01160 SQLDBC_Int4 Index,
01161 SQLDBC_HostType Type,
01162 void *paramAddr,
01163 SQLDBC_Length *LengthIndicator,
01164 SQLDBC_Length Size,
01165 SQLDBC_Length StartPos,
01166 SQLDBC_Bool Terminate);
01167
01177 SQLDBC_DLLEXPORT
01178 SQLDBC_Retcode SQLDBC_UpdatableRowSet_insertAllRows(SQLDBC_UpdatableRowSet* hdl);
01179
01187 SQLDBC_DLLEXPORT
01188 SQLDBC_Retcode SQLDBC_UpdatableRowSet_insertOneRow(SQLDBC_UpdatableRowSet* hdl);
01189
01200 SQLDBC_DLLEXPORT
01201 SQLDBC_Retcode SQLDBC_UpdatableRowSet_updateRow(SQLDBC_UpdatableRowSet* hdl, int position);
01202
01212 SQLDBC_DLLEXPORT
01213 SQLDBC_Retcode SQLDBC_UpdatableRowSet_deleteRow(SQLDBC_UpdatableRowSet* hdl, int position);
01214
01215
01299 #ifndef BUILD_INTERFACE_RUNTIME
01300 typedef struct SQLDBC_ResultSet SQLDBC_ResultSet;
01301 #endif
01302
01313
01314 SQLDBC_DLLEXPORT
01315 SQLDBC_ErrorHndl* SQLDBC_ResultSet_getError(SQLDBC_ResultSet* hdl);
01316
01321 SQLDBC_DLLEXPORT
01322 void SQLDBC_ResultSet_clearError(SQLDBC_ResultSet* hdl);
01323
01333
01334 SQLDBC_DLLEXPORT
01335 SQLDBC_SQLWarning* SQLDBC_ResultSet_getWarning(SQLDBC_ResultSet* hdl);
01336
01341 SQLDBC_DLLEXPORT
01342 void SQLDBC_ResultSet_clearWarnings(SQLDBC_ResultSet* hdl);
01343
01344
01345
01356 SQLDBC_DLLEXPORT
01357 SQLDBC_ResultSetMetaData* SQLDBC_ResultSet_getResultSetMetaData(SQLDBC_ResultSet* hdl);
01358
01365 SQLDBC_DLLEXPORT
01366 SQLDBC_Int4 SQLDBC_ResultSet_getResultCount (SQLDBC_ResultSet* hdl);
01367
01408 SQLDBC_DLLEXPORT
01409 SQLDBC_Retcode SQLDBC_ResultSet_bindColumn (SQLDBC_ResultSet* hdl,
01410 SQLDBC_UInt4 Index,
01411 SQLDBC_HostType Type,
01412 void *paramAddr,
01413 SQLDBC_Length *LengthIndicator,
01414 SQLDBC_Length Size,
01415 SQLDBC_Bool Terminate);
01416
01460
01461 SQLDBC_DLLEXPORT
01462 SQLDBC_Retcode SQLDBC_ResultSet_bindColumnByPos (SQLDBC_ResultSet* hdl,
01463 SQLDBC_UInt4 Index,
01464 SQLDBC_HostType Type,
01465 void *paramAddr,
01466 SQLDBC_Length *LengthIndicator,
01467 SQLDBC_Length *PositionIndicator,
01468 SQLDBC_Length Size,
01469 SQLDBC_Bool Terminate);
01470
01479 SQLDBC_DLLEXPORT
01480 SQLDBC_Retcode SQLDBC_ResultSet_clearColumns(SQLDBC_ResultSet* hdl);
01481
01493 SQLDBC_DLLEXPORT
01494 void SQLDBC_ResultSet_setFetchSize(SQLDBC_ResultSet* hdl, SQLDBC_Int2 fetchsize);
01495
01503 SQLDBC_DLLEXPORT
01504 void SQLDBC_ResultSet_setRowSetSize (SQLDBC_ResultSet *hdl, SQLDBC_UInt4 rowsetsize);
01505
01513 SQLDBC_DLLEXPORT
01514 SQLDBC_UInt4 SQLDBC_ResultSet_getRowSetSize (SQLDBC_ResultSet* hdl);
01515
01523 SQLDBC_DLLEXPORT
01524 SQLDBC_RowSet * SQLDBC_ResultSet_getRowSet (SQLDBC_ResultSet* hdl);
01525
01534 SQLDBC_DLLEXPORT
01535 SQLDBC_UpdatableRowSet * SQLDBC_ResultSet_getUpdatableRowSet (SQLDBC_ResultSet* hdl);
01536
01544 SQLDBC_DLLEXPORT
01545 SQLDBC_Statement * SQLDBC_ResultSet_getStatement(SQLDBC_ResultSet* hdl);
01546
01553 SQLDBC_DLLEXPORT
01554 SQLDBC_Bool * SQLDBC_ResultSet_isUpdatable(SQLDBC_ResultSet* hdl);
01555
01568 SQLDBC_DLLEXPORT
01569 SQLDBC_Retcode SQLDBC_ResultSet_first(SQLDBC_ResultSet* hdl);
01570
01588 SQLDBC_DLLEXPORT
01589 SQLDBC_Retcode SQLDBC_ResultSet_next(SQLDBC_ResultSet* hdl);
01590
01602 SQLDBC_DLLEXPORT
01603 SQLDBC_Retcode SQLDBC_ResultSet_previous(SQLDBC_ResultSet* hdl);
01604
01616 SQLDBC_DLLEXPORT
01617 SQLDBC_Retcode SQLDBC_ResultSet_last(SQLDBC_ResultSet* hdl);
01618
01649 SQLDBC_DLLEXPORT
01650 SQLDBC_Retcode SQLDBC_ResultSet_absolute (SQLDBC_ResultSet* hdl, int row);
01651
01675 SQLDBC_DLLEXPORT
01676 SQLDBC_Retcode SQLDBC_ResultSet_relative(SQLDBC_ResultSet* hdl, int relativePos);
01677
01683 SQLDBC_DLLEXPORT
01684 void SQLDBC_ResultSet_close(SQLDBC_ResultSet* hdl);
01685
01693 SQLDBC_DLLEXPORT
01694 SQLDBC_UInt4 SQLDBC_ResultSet_getRowNumber(SQLDBC_ResultSet* hdl);
01695
01749 SQLDBC_DLLEXPORT
01750 SQLDBC_Retcode SQLDBC_ResultSet_getObject(SQLDBC_ResultSet* hdl,
01751 SQLDBC_Int4 Index,
01752 SQLDBC_HostType Type,
01753 void *paramAddr,
01754 SQLDBC_Length *LengthIndicator,
01755 SQLDBC_Length Size,
01756 SQLDBC_Bool Terminate);
01757
01758
01815
01816 SQLDBC_DLLEXPORT
01817 SQLDBC_Retcode SQLDBC_ResultSet_getObjectByPos(SQLDBC_ResultSet* hdl,
01818 SQLDBC_Int4 Index,
01819 SQLDBC_HostType Type,
01820 void *paramAddr,
01821 SQLDBC_Length *LengthIndicator,
01822 SQLDBC_Length Size,
01823 SQLDBC_Length StartPos,
01824 SQLDBC_Bool Terminate);
01825
01826
01912
01913 SQLDBC_DLLEXPORT
01914 SQLDBC_ErrorHndl* SQLDBC_Statement_getError(SQLDBC_Statement* hdl);
01915
01920 SQLDBC_DLLEXPORT
01921 void SQLDBC_Statement_clearError(SQLDBC_Statement* hdl);
01922
01932
01933 SQLDBC_DLLEXPORT
01934 SQLDBC_SQLWarning* SQLDBC_Statement_getWarning(SQLDBC_Statement* hdl);
01935
01940 SQLDBC_DLLEXPORT
01941 void SQLDBC_Statement_clearWarnings(SQLDBC_Statement* hdl);
01942
01960 SQLDBC_DLLEXPORT
01961 SQLDBC_Retcode SQLDBC_Statement_execute(SQLDBC_Statement* hdl,
01962 char *sql,
01963 SQLDBC_Length sqlLength,
01964 SQLDBC_StringEncodingType_Encoding encoding);
01965
01983
01984 SQLDBC_DLLEXPORT
01985 SQLDBC_Retcode SQLDBC_Statement_executeNTS(SQLDBC_Statement* hdl,
01986 char *sql,
01987 SQLDBC_StringEncodingType_Encoding encoding);
01988
02003
02004 SQLDBC_DLLEXPORT
02005 SQLDBC_Retcode SQLDBC_Statement_executeASCII(SQLDBC_Statement* hdl, char *sql);
02006
02022 SQLDBC_DLLEXPORT
02023 void SQLDBC_Statement_setResultSetFetchSize(SQLDBC_Statement* hdl, SQLDBC_Int2 rows);
02024
02039 SQLDBC_DLLEXPORT
02040 void SQLDBC_Statement_setMaxRows(SQLDBC_Statement* hdl, SQLDBC_UInt4 rows);
02041
02051 SQLDBC_DLLEXPORT
02052 SQLDBC_UInt4 SQLDBC_Statement_getMaxRows(SQLDBC_Statement* hdl);
02053
02063 SQLDBC_DLLEXPORT
02064 SQLDBC_ResultSet * SQLDBC_Statement_getResultSet(SQLDBC_Statement* hdl);
02065
02081 SQLDBC_DLLEXPORT
02082 void SQLDBC_Statement_setCursorName(SQLDBC_Statement* hdl,
02083 char *buffer,
02084 SQLDBC_Length bufferLength,
02085 SQLDBC_StringEncodingType_Encoding encoding);
02086
02105 SQLDBC_DLLEXPORT
02106 SQLDBC_Retcode SQLDBC_Statement_setCommandInfo(SQLDBC_Statement* hdl,
02107 const char *buffer,
02108 SQLDBC_Length bufferLength,
02109 SQLDBC_Int4 lineNumber);
02133 SQLDBC_DLLEXPORT
02134 SQLDBC_Retcode SQLDBC_Statement_getCursorName(SQLDBC_Statement* hdl,
02135 char *buffer,
02136 SQLDBC_StringEncodingType_Encoding encoding,
02137 SQLDBC_Length bufferSize,
02138 SQLDBC_Length *bufferLength);
02139
02157 SQLDBC_DLLEXPORT
02158 SQLDBC_Retcode SQLDBC_Statement_getTableName(SQLDBC_Statement* hdl,
02159 char *buffer,
02160 SQLDBC_StringEncodingType_Encoding encoding,
02161 SQLDBC_Length bufferSize,
02162 SQLDBC_Length *bufferLength);
02163
02179 SQLDBC_DLLEXPORT
02180 SQLDBC_Bool SQLDBC_Statement_isQuery(SQLDBC_Statement* hdl);
02181
02193 SQLDBC_DLLEXPORT
02194 SQLDBC_Int4 SQLDBC_Statement_getRowsAffected(SQLDBC_Statement* hdl);
02195
02196 typedef enum SQLDBC_Statement_ResultSetType {
02197 SQLDBC_Statement_ResultSetType_FORWARD_ONLY = 1,
02198 SQLDBC_Statement_ResultSetType_SCROLL_SENSITIVE = 2,
02199 SQLDBC_Statement_ResultSetType_SCROLL_INSENSITIVE = 3
02200 } SQLDBC_Statement_ResultSetType ;
02201
02221 SQLDBC_DLLEXPORT
02222 void SQLDBC_Statement_setResultSetType (SQLDBC_Statement* hdl, SQLDBC_Statement_ResultSetType type );
02223
02235 SQLDBC_DLLEXPORT
02236 SQLDBC_Statement_ResultSetType SQLDBC_Statement_getResultSetType(SQLDBC_Statement* hdl);
02237
02238 typedef enum SQLDBC_Statement_ConcurrencyType {
02239 SQLDBC_Statement_ConcurrencyType_CONCUR_UPDATABLE = 10,
02240 SQLDBC_Statement_ConcurrencyType_CONCUR_READ_ONLY = 11
02241 }SQLDBC_Statement_ConcurrencyType;
02242
02257 SQLDBC_DLLEXPORT
02258 void SQLDBC_Statement_setResultSetConcurrencyType (SQLDBC_Statement* hdl, SQLDBC_Statement_ConcurrencyType type);
02259
02260 typedef enum SQLDBC_Statement_HoldabilityType {
02261 SQLDBC_Statement_HoldabilityType_CURSOR_HOLD_OVER_COMMIT = 20,
02262 SQLDBC_Statement_HoldabilityType_CURSOR_CLOSE_ON_COMMIT = 21
02263 } SQLDBC_Statement_HoldabilityType;
02264
02275 SQLDBC_DLLEXPORT
02276 SQLDBC_Statement_ConcurrencyType SQLDBC_Statement_getResultSetConcurrencyType(SQLDBC_Statement* hdl);
02277
02288 SQLDBC_DLLEXPORT
02289 SQLDBC_Int4 * SQLDBC_Statement_getRowStatus(SQLDBC_Statement* hdl);
02290
02298 SQLDBC_DLLEXPORT
02299 SQLDBC_UInt4 SQLDBC_Statement_getBatchSize(SQLDBC_Statement* hdl);
02300
02313 SQLDBC_DLLEXPORT
02314 SQLDBC_Retcode SQLDBC_Statement_addBatch(SQLDBC_Statement* hdl,
02315 char *sql,
02316 SQLDBC_Length sqlLength,
02317 SQLDBC_StringEncodingType_Encoding encoding);
02318
02327
02328 SQLDBC_DLLEXPORT
02329 SQLDBC_Retcode SQLDBC_Statement_addBatchNTS(SQLDBC_Statement* hdl,
02330 char *sql,
02331 SQLDBC_StringEncodingType_Encoding encoding);
02332
02341
02342 SQLDBC_DLLEXPORT
02343 SQLDBC_Retcode SQLDBC_Statement_addBatchASCII(SQLDBC_Statement* hdl, char *sql);
02344
02353 SQLDBC_DLLEXPORT
02354 SQLDBC_Retcode SQLDBC_Statement_executeBatch(SQLDBC_Statement* hdl);
02355
02361 SQLDBC_DLLEXPORT
02362 void SQLDBC_Statement_clearBatch(SQLDBC_Statement* hdl);
02363
02379 SQLDBC_DLLEXPORT
02380 SQLDBC_Retcode SQLDBC_Statement_getLastInsertedKey(SQLDBC_Statement *hdl,
02381 SQLDBC_Int4 tag,
02382 SQLDBC_HostType type,
02383 void *paramAddr,
02384 SQLDBC_Length *lengthIndicator,
02385 SQLDBC_Length size,
02386 SQLDBC_Bool terminate);
02387
02388
02389
02456 #ifndef BUILD_INTERFACE_RUNTIME
02457 typedef struct SQLDBC_PreparedStatement SQLDBC_PreparedStatement;
02458 #endif
02459
02470
02471 SQLDBC_DLLEXPORT
02472 SQLDBC_ErrorHndl* SQLDBC_PreparedStatement_getError(SQLDBC_PreparedStatement* hdl);
02473
02478 SQLDBC_DLLEXPORT
02479 void SQLDBC_PreparedStatement_clearError(SQLDBC_PreparedStatement* hdl);
02480
02490
02491 SQLDBC_DLLEXPORT
02492 SQLDBC_SQLWarning* SQLDBC_PreparedStatement_getWarning(SQLDBC_PreparedStatement* hdl);
02493
02498 SQLDBC_DLLEXPORT
02499 void SQLDBC_PreparedStatement_clearWarnings(SQLDBC_PreparedStatement* hdl);
02500
02501
02517 SQLDBC_DLLEXPORT
02518 void SQLDBC_PreparedStatement_setResultSetFetchSize(SQLDBC_PreparedStatement* hdl, SQLDBC_Int2 rows);
02519
02534 SQLDBC_DLLEXPORT
02535 void SQLDBC_PreparedStatement_setMaxRows(SQLDBC_PreparedStatement* hdl, SQLDBC_UInt4 rows);
02536
02546 SQLDBC_DLLEXPORT
02547 SQLDBC_UInt4 SQLDBC_PreparedStatement_getMaxRows(SQLDBC_PreparedStatement* hdl);
02548
02558 SQLDBC_DLLEXPORT
02559 SQLDBC_ResultSet * SQLDBC_PreparedStatement_getResultSet(SQLDBC_PreparedStatement* hdl);
02560
02576 SQLDBC_DLLEXPORT
02577 void SQLDBC_PreparedStatement_setCursorName(SQLDBC_PreparedStatement* hdl,
02578 const char *buffer,
02579 SQLDBC_Length bufferLength,
02580 const SQLDBC_StringEncodingType_Encoding encoding);
02581
02599 SQLDBC_DLLEXPORT
02600 SQLDBC_Retcode SQLDBC_PreparedStatement_setCommandInfo(SQLDBC_PreparedStatement* hdl,
02601 const char *buffer,
02602 SQLDBC_Length bufferLength,
02603 SQLDBC_Int4 lineNumber);
02627 SQLDBC_DLLEXPORT
02628 SQLDBC_Retcode SQLDBC_PreparedStatement_getCursorName(SQLDBC_PreparedStatement* hdl,
02629 char *buffer,
02630 const SQLDBC_StringEncodingType_Encoding encoding,
02631 const SQLDBC_Length bufferSize,
02632 SQLDBC_Length *bufferLength);
02633
02651 SQLDBC_DLLEXPORT
02652 SQLDBC_Retcode SQLDBC_PreparedStatement_getTableName(SQLDBC_PreparedStatement* hdl,
02653 char *buffer,
02654 const SQLDBC_StringEncodingType_Encoding encoding,
02655 const SQLDBC_Length bufferSize,
02656 SQLDBC_Length *bufferLength);
02657
02673 SQLDBC_DLLEXPORT
02674 SQLDBC_Bool SQLDBC_PreparedStatement_isQuery(SQLDBC_PreparedStatement* hdl);
02675
02687 SQLDBC_DLLEXPORT
02688 SQLDBC_Int4 SQLDBC_PreparedStatement_getRowsAffected(SQLDBC_PreparedStatement* hdl);
02689
02710 SQLDBC_DLLEXPORT
02711 void SQLDBC_PreparedStatement_setResultSetType (SQLDBC_PreparedStatement* hdl, SQLDBC_Statement_ResultSetType type );
02712
02725 SQLDBC_DLLEXPORT
02726 SQLDBC_Statement_ResultSetType SQLDBC_PreparedStatement_getResultSetType(SQLDBC_PreparedStatement* hdl);
02727
02743 SQLDBC_DLLEXPORT
02744 void SQLDBC_PreparedStatement_setResultSetConcurrencyType (SQLDBC_PreparedStatement* hdl, SQLDBC_Statement_ConcurrencyType type);
02745
02756 SQLDBC_DLLEXPORT
02757 SQLDBC_Statement_ConcurrencyType SQLDBC_PreparedStatement_getResultSetConcurrencyType(SQLDBC_PreparedStatement* hdl);
02758
02769 SQLDBC_DLLEXPORT
02770 SQLDBC_Int4 * SQLDBC_PreparedStatement_getRowStatus(SQLDBC_PreparedStatement* hdl);
02771
02779 SQLDBC_DLLEXPORT
02780 SQLDBC_UInt4 SQLDBC_PreparedStatement_getBatchSize(SQLDBC_PreparedStatement* hdl);
02781
02782
02791 SQLDBC_DLLEXPORT
02792 SQLDBC_Retcode SQLDBC_PreparedStatement_executeBatch(SQLDBC_PreparedStatement* hdl);
02793
02799 SQLDBC_DLLEXPORT
02800 void SQLDBC_PreparedStatement_clearBatch(SQLDBC_PreparedStatement* hdl);
02801
02817 SQLDBC_DLLEXPORT
02818 SQLDBC_Retcode SQLDBC_PreparedStatement_getLastInsertedKey(SQLDBC_PreparedStatement *hdl,
02819 SQLDBC_Int4 tag,
02820 SQLDBC_HostType type,
02821 void *paramAddr,
02822 SQLDBC_Length *lengthIndicator,
02823 SQLDBC_Length size,
02824 SQLDBC_Bool terminate);
02825
02836 SQLDBC_DLLEXPORT
02837 SQLDBC_Retcode SQLDBC_PreparedStatement_prepare(SQLDBC_PreparedStatement* hdl,
02838 const char *sql,
02839 const SQLDBC_Length sqlLength,
02840 const SQLDBC_StringEncodingType_Encoding encoding);
02841
02855
02856 SQLDBC_DLLEXPORT
02857 SQLDBC_Retcode SQLDBC_PreparedStatement_prepareNTS(SQLDBC_PreparedStatement* hdl,
02858 const char *sql,
02859 const SQLDBC_StringEncodingType_Encoding encoding);
02860
02871
02872 SQLDBC_DLLEXPORT
02873 SQLDBC_Retcode SQLDBC_PreparedStatement_prepareASCII(SQLDBC_PreparedStatement* hdl, const char *sql);
02874
02889
02890 SQLDBC_DLLEXPORT
02891 SQLDBC_Retcode SQLDBC_PreparedStatement_executeASCII(SQLDBC_PreparedStatement* hdl);
02892
02904 SQLDBC_DLLEXPORT
02905 SQLDBC_ParameterMetaData* SQLDBC_PreparedStatement_getParameterMetaData(SQLDBC_PreparedStatement* hdl);
02906
02929 SQLDBC_DLLEXPORT
02930 SQLDBC_ResultSetMetaData* SQLDBC_PreparedStatement_getResultSetMetaData(SQLDBC_PreparedStatement* hdl);
02931
02940 SQLDBC_DLLEXPORT
02941 SQLDBC_Retcode SQLDBC_PreparedStatement_setBatchSize(SQLDBC_PreparedStatement* hdl, SQLDBC_UInt4 rowarraysize);
02942
02956 SQLDBC_DLLEXPORT
02957 SQLDBC_UInt4 SQLDBC_PreparedStatement_getPreferredBatchSize(SQLDBC_PreparedStatement* hdl);
02958
02959
02971 SQLDBC_DLLEXPORT
02972 SQLDBC_Retcode SQLDBC_PreparedStatement_clearParameters(SQLDBC_PreparedStatement* hdl);
02973
02974
03014 SQLDBC_DLLEXPORT
03015 SQLDBC_Retcode SQLDBC_PreparedStatement_bindParameter (SQLDBC_PreparedStatement* hdl,
03016 const SQLDBC_UInt2 Index,
03017 const SQLDBC_HostType Type,
03018 void *paramAddr,
03019 SQLDBC_Length *LengthIndicator,
03020 const SQLDBC_Length Size,
03021 const SQLDBC_Bool Terminate);
03022
03066 SQLDBC_DLLEXPORT
03067 SQLDBC_Retcode SQLDBC_PreparedStatement_bindParameterAddr(SQLDBC_PreparedStatement* hdl,
03068 const SQLDBC_UInt2 Index,
03069 const SQLDBC_HostType Type,
03070 void *paramAddr,
03071 SQLDBC_Length *LengthIndicator,
03072 const SQLDBC_Length Size,
03073 const SQLDBC_Bool Terminate);
03074
03093 SQLDBC_DLLEXPORT
03094 SQLDBC_Retcode SQLDBC_PreparedStatement_setBindingType(SQLDBC_PreparedStatement* hdl, SQLDBC_size_t size);
03095
03096
03119 SQLDBC_DLLEXPORT
03120 SQLDBC_Retcode SQLDBC_PreparedStatement_nextParameterByIndex(SQLDBC_PreparedStatement* hdl, SQLDBC_Int2* paramIndex, void** paramAddr);
03121
03122
03137 SQLDBC_DLLEXPORT
03138 SQLDBC_Retcode SQLDBC_PreparedStatement_putData(SQLDBC_PreparedStatement* hdl, void *paramAddr, SQLDBC_Length *paramLengthIndicator);
03139
03189 SQLDBC_DLLEXPORT
03190 SQLDBC_Retcode SQLDBC_PreparedStatement_getObject(
03191 SQLDBC_PreparedStatement* hdl,
03192 SQLDBC_Int4 Index,
03193 SQLDBC_HostType Type,
03194 void *paramAddr,
03195 SQLDBC_Length *LengthIndicator,
03196 SQLDBC_Length Size,
03197 SQLDBC_Bool Terminate);
03198
03251
03252 SQLDBC_DLLEXPORT
03253 SQLDBC_Retcode SQLDBC_PreparedStatement_getObjectByPos(
03254 SQLDBC_PreparedStatement* hdl,
03255 SQLDBC_Int4 Index,
03256 SQLDBC_HostType Type,
03257 void *paramAddr,
03258 SQLDBC_Length *LengthIndicator,
03259 SQLDBC_Length Size,
03260 SQLDBC_Length StartPos,
03261 SQLDBC_Bool Terminate);
03262
03263
03417 #ifndef BUILD_INTERFACE_RUNTIME
03418 typedef struct SQLDBC_ConnectProperties SQLDBC_ConnectProperties;
03419 #endif
03420
03426 SQLDBC_DLLEXPORT
03427
03428 SQLDBC_ConnectProperties* SQLDBC_ConnectProperties_new_SQLDBC_ConnectProperties();
03429
03430
03435
03436 SQLDBC_DLLEXPORT
03437 void SQLDBC_ConnectProperties_delete_SQLDBC_ConnectProperties(SQLDBC_ConnectProperties* hdl);
03438
03439
03447 SQLDBC_DLLEXPORT
03448 void SQLDBC_ConnectProperties_setProperty(SQLDBC_ConnectProperties* hdl, const char *key, const char *value);
03449
03458 SQLDBC_DLLEXPORT
03459 char * SQLDBC_ConnectProperties_getProperty(SQLDBC_ConnectProperties* hdl, const char *key, const char *defaultvalue);
03460
03461
03462
03473 #ifndef BUILD_INTERFACE_RUNTIME
03474 typedef struct SQLDBC_Connection SQLDBC_Connection;
03475 #endif
03476
03487
03488 SQLDBC_DLLEXPORT
03489 SQLDBC_ErrorHndl* SQLDBC_Connection_getError(SQLDBC_Connection* hdl);
03490
03495 SQLDBC_DLLEXPORT
03496 void SQLDBC_Connection_clearError(SQLDBC_Connection* hdl);
03497
03507
03508 SQLDBC_DLLEXPORT
03509 SQLDBC_SQLWarning* SQLDBC_Connection_getWarning(SQLDBC_Connection* hdl);
03510
03515 SQLDBC_DLLEXPORT
03516 void SQLDBC_Connection_clearWarnings(SQLDBC_Connection* hdl);
03517
03518
03642 SQLDBC_DLLEXPORT
03643 SQLDBC_Retcode SQLDBC_Connection_connect(SQLDBC_Connection* hdl,
03644 const char* servernode,
03645 SQLDBC_Length servernodeLength,
03646 const char* serverdb,
03647 SQLDBC_Length serverdbLength,
03648 const char* username,
03649 SQLDBC_Length usernameLength,
03650 const char* password,
03651 SQLDBC_Length passwordLength,
03652 const SQLDBC_StringEncodingType_Encoding userpwdEncoding,
03653 const SQLDBC_ConnectProperties* properties);
03654
03678
03679 SQLDBC_DLLEXPORT
03680 SQLDBC_Retcode SQLDBC_Connection_connectNTS(SQLDBC_Connection* hdl,
03681 const char* servernode,
03682 const char* serverdb,
03683 const char* username,
03684 const char* password,
03685 const SQLDBC_StringEncodingType_Encoding userpwdEncoding,
03686 const SQLDBC_ConnectProperties* properties);
03687
03705
03706 SQLDBC_DLLEXPORT
03707 SQLDBC_Retcode SQLDBC_Connection_connectASCII(SQLDBC_Connection* hdl,
03708 const char* servernode,
03709 const char* serverdb,
03710 const char* username,
03711 const char* password,
03712 const SQLDBC_ConnectProperties* properties);
03713
03714
03715
03730
03731 SQLDBC_DLLEXPORT
03732 SQLDBC_Retcode SQLDBC_Connection_connectPROP(SQLDBC_Connection* hdl,
03733 const SQLDBC_ConnectProperties* properties);
03734
03735
03750 SQLDBC_DLLEXPORT
03751 SQLDBC_Statement * SQLDBC_Connection_createStatement(SQLDBC_Connection* hdl);
03752
03763 SQLDBC_DLLEXPORT
03764 SQLDBC_PreparedStatement * SQLDBC_Connection_createPreparedStatement(SQLDBC_Connection* hdl);
03765
03777 SQLDBC_DLLEXPORT
03778 SQLDBC_Retcode SQLDBC_Connection_commit(SQLDBC_Connection* hdl);
03779
03786 SQLDBC_DLLEXPORT
03787 SQLDBC_Retcode SQLDBC_Connection_rollback(SQLDBC_Connection* hdl);
03788
03795 SQLDBC_DLLEXPORT
03796 void SQLDBC_Connection_releaseStatement(SQLDBC_Connection* hdl, SQLDBC_Statement *stmt);
03797
03804
03805 SQLDBC_DLLEXPORT
03806 void SQLDBC_Connection_releasePreparedStatement(SQLDBC_Connection* hdl, SQLDBC_PreparedStatement *stmt);
03807
03824 SQLDBC_DLLEXPORT
03825 SQLDBC_Retcode SQLDBC_Connection_cancel(SQLDBC_Connection* hdl);
03826
03842 SQLDBC_DLLEXPORT
03843 SQLDBC_Retcode SQLDBC_Connection_close(SQLDBC_Connection* hdl);
03844
03845
03861 SQLDBC_DLLEXPORT
03862 SQLDBC_Retcode SQLDBC_Connection_commitWorkRelease(SQLDBC_Connection* hdl);
03863
03864
03882 SQLDBC_DLLEXPORT
03883 SQLDBC_Retcode SQLDBC_Connection_disconnect(SQLDBC_Connection* hdl);
03884
03885
03893 SQLDBC_DLLEXPORT
03894 void SQLDBC_Connection_setAutoCommit(SQLDBC_Connection* hdl, SQLDBC_Bool autocommit);
03895
03904 SQLDBC_DLLEXPORT
03905 SQLDBC_Bool SQLDBC_Connection_getAutoCommit(SQLDBC_Connection* hdl);
03906
03918 SQLDBC_DLLEXPORT
03919 void SQLDBC_Connection_setSQLMode(SQLDBC_Connection* hdl, SQLDBC_SQLMode sqlmode);
03920
03933 SQLDBC_DLLEXPORT
03934 SQLDBC_Retcode SQLDBC_Connection_setTransactionIsolation(SQLDBC_Connection* hdl, SQLDBC_Int4 isolationlevel);
03935
03944 SQLDBC_DLLEXPORT
03945 SQLDBC_Int4 SQLDBC_Connection_getTransactionIsolation(SQLDBC_Connection* hdl);
03946
03956 SQLDBC_DLLEXPORT
03957 SQLDBC_Bool SQLDBC_Connection_isConnected(SQLDBC_Connection* hdl);
03958
03973 SQLDBC_DLLEXPORT
03974 SQLDBC_Int4 SQLDBC_Connection_getKernelVersion(SQLDBC_Connection* hdl);
03975
03983 SQLDBC_DLLEXPORT
03984 SQLDBC_Bool SQLDBC_Connection_isUnicodeDatabase(SQLDBC_Connection* hdl);
03985
03992 SQLDBC_DLLEXPORT
03993 SQLDBC_DateTimeFormat_Format SQLDBC_Connection_getDateTimeFormat(SQLDBC_Connection* hdl);
03994
03995
04000 #ifndef BUILD_INTERFACE_RUNTIME
04001 typedef struct SQLDBC_Environment SQLDBC_Environment;
04002 #endif
04003
04010 SQLDBC_DLLEXPORT
04011
04012 SQLDBC_Environment* SQLDBC_Environment_new_SQLDBC_Environment(SQLDBC_IRuntime* runtime);
04013
04019 SQLDBC_DLLEXPORT
04020
04021 void SQLDBC_Environment_delete_SQLDBC_Environment(SQLDBC_Environment* hdl);
04022
04030 SQLDBC_DLLEXPORT
04031 SQLDBC_Connection * SQLDBC_Environment_createConnection(SQLDBC_Environment* hdl);
04032
04033
04041 SQLDBC_DLLEXPORT
04042 void SQLDBC_Environment_releaseConnection(SQLDBC_Environment* hdl, SQLDBC_Connection *connection);
04043
04059 SQLDBC_DLLEXPORT
04060 char * SQLDBC_Environment_getLibraryVersion(SQLDBC_Environment* hdl);
04061
04071 SQLDBC_DLLEXPORT
04072
04073 char *getSDKVersion();
04074
04075
04076 #ifdef SQLDBC_FEATURE_TRACEOPTION
04077
04148 SQLDBC_DLLEXPORT
04149 void SQLDBC_Environment_setTraceOptions(SQLDBC_Environment *hdl, const SQLDBC_ConnectProperties* traceoptions);
04150
04159 SQLDBC_DLLEXPORT
04160 void SQLDBC_Environment_getTraceOptions(SQLDBC_Environment *hdl, SQLDBC_ConnectProperties* traceoptions);
04161 #endif
04162
04172
04173 SQLDBC_DLLEXPORT SQLDBC_IRuntime* ClientRuntime_GetClientRuntime(char *errorText,SQLDBC_Int4 errorTextSize);
04174
04184
04185 SQLDBC_DLLEXPORT SQLDBC_IRuntime* ClientRuntime_GetSingleThreadClientRuntime(char *errorText,SQLDBC_Int4 errorTextSize);
04186
04187 #ifdef __cplusplus
04188 }
04189 #endif
04190
04191 #endif