00001
00034 #ifndef SQLDBC_C_H
00035 #define SQLDBC_C_H
00036
00043 #ifdef SQLDBC_FEATURE_TRACEOPTION_OFF
00044 #undef SQLDBC_FEATURE_TRACEOPTION
00045 #else
00046 #define SQLDBC_FEATURE_TRACEOPTION
00047 #endif
00048
00049 #include "SQLDBC_Types.h"
00050
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054
00058 #define SQLDBC_CHeaderVersion "SQLDBC_C.H 7.5.0 BUILD 024-000-000-000"
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 #ifndef BUILD_INTERFACE_RUNTIME
00070 typedef struct SQLDBC_IRuntime SQLDBC_IRuntime;
00071 #endif
00072
00073 #ifdef WIN32
00074 #define SQLDBC_DLLEXPORT __declspec(dllexport)
00075 #else
00076 #define SQLDBC_DLLEXPORT
00077 #endif
00078
00079 #ifndef BUILD_INTERFACE_RUNTIME
00080 typedef struct SQLDBC_Statement SQLDBC_Statement;
00081 #endif
00082
00086 #ifndef BUILD_INTERFACE_RUNTIME
00087 typedef struct SQLDBC_ErrorHndl SQLDBC_ErrorHndl;
00088 #endif
00089
00095 SQLDBC_DLLEXPORT
00096 SQLDBC_Int4 SQLDBC_ErrorHndl_getErrorCode(SQLDBC_ErrorHndl *hdl);
00097
00103 SQLDBC_DLLEXPORT
00104 char* SQLDBC_ErrorHndl_getSQLState(SQLDBC_ErrorHndl* hdl);
00105
00112 SQLDBC_DLLEXPORT
00113 char * SQLDBC_ErrorHndl_getErrorText(SQLDBC_ErrorHndl* hdl);
00114
00115
00124 #ifndef BUILD_INTERFACE_RUNTIME
00125 typedef struct SQLDBC_SQLWarning SQLDBC_SQLWarning;
00126 #endif
00127
00133 SQLDBC_DLLEXPORT
00134 SQLDBC_SQLWarning* SQLDBC_SQLWarning_getNextWarning(SQLDBC_SQLWarning* hdl);
00135
00141 SQLDBC_DLLEXPORT
00142 SQLDBC_SQLWarningCode SQLDBC_SQLWarning_getWarningCode(SQLDBC_SQLWarning* hdl);
00143
00144
00150 #ifndef BUILD_INTERFACE_RUNTIME
00151 typedef struct SQLDBC_LOB SQLDBC_LOB;
00152 #endif
00153
00154 SQLDBC_DLLEXPORT SQLDBC_LOB* SQLDBC_LOB_new_SQLDBC_LOB();
00155
00156 SQLDBC_DLLEXPORT void SQLDBC_LOB_delete_SQLDBC_LOB(SQLDBC_LOB *lob);
00170 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_putData(SQLDBC_LOB* hdl, void *paramAddr, SQLDBC_Length *paramLengthIndicator);
00171
00177 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_close(SQLDBC_LOB* hdl);
00178
00179
00218 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_getData(SQLDBC_LOB *hdl,
00219 void *paramAddr,
00220 SQLDBC_Length *LengthIndicator,
00221 SQLDBC_Length Size,
00222 SQLDBC_Bool Terminate);
00223
00265
00266 SQLDBC_DLLEXPORT SQLDBC_Retcode SQLDBC_LOB_getDataByPos(SQLDBC_LOB* hdl,
00267 void *paramAddr,
00268 SQLDBC_Length *LengthIndicator,
00269 SQLDBC_Length Size,
00270 SQLDBC_Length position,
00271 SQLDBC_Bool Terminate);
00272
00282 SQLDBC_DLLEXPORT SQLDBC_Length SQLDBC_LOB_getLength(SQLDBC_LOB *hdl);
00283
00291 SQLDBC_DLLEXPORT SQLDBC_Length SQLDBC_LOB_getPosition(SQLDBC_LOB* hdl);
00292
00293
00305 SQLDBC_DLLEXPORT SQLDBC_Length SQLDBC_LOB_getPreferredDataSize(SQLDBC_LOB* hdl);
00306
00307
00312 #ifndef BUILD_INTERFACE_RUNTIME
00313 typedef struct SQLDBC_ParameterMetaData SQLDBC_ParameterMetaData;
00314 #endif
00315
00316 #ifndef __cplusplus
00317 typedef
00318 #endif
00319 enum ParameterNullBehavior {
00323 parameterNoNulls = 0,
00324
00328 parameterNullable = 1,
00329
00333 parameterNullableUnknown = 2
00334 }
00335 #ifndef __cplusplus
00336 ParameterNullBehavior
00337 #endif
00338 ;
00339
00340 #ifndef __cplusplus
00341 typedef
00342 #endif
00343 enum ParameterMode {
00344
00348 parameterModeUnknown = 0,
00349
00353 parameterModeIn = 1,
00354
00358 parameterModeInOut = 2,
00359
00363 parameterModeOut = 4
00364 }
00365 #ifndef __cplusplus
00366 ParameterMode
00367 #endif
00368 ;
00369
00378 SQLDBC_DLLEXPORT
00379 SQLDBC_Int2 SQLDBC_ParameterMetaData_getParameterCount(SQLDBC_ParameterMetaData* hdl);
00380
00400 SQLDBC_DLLEXPORT
00401 SQLDBC_Retcode SQLDBC_ParameterMetaData_getParameterName(SQLDBC_ParameterMetaData* hdl,
00402 SQLDBC_Int2 param,
00403 char *buffer,
00404 SQLDBC_StringEncodingType_Encoding encoding,
00405 SQLDBC_Length bufferSize,
00406 SQLDBC_Length *bufferLength);
00407
00416 SQLDBC_DLLEXPORT
00417 SQLDBC_SQLType SQLDBC_ParameterMetaData_getParameterType(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00418
00431 SQLDBC_DLLEXPORT
00432 ParameterMode SQLDBC_ParameterMetaData_getParameterMode(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00433
00446 SQLDBC_DLLEXPORT
00447 SQLDBC_Int4 SQLDBC_ParameterMetaData_getParameterLength(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00448
00465 SQLDBC_DLLEXPORT
00466 SQLDBC_Int4 SQLDBC_ParameterMetaData_getPrecision(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00467
00482 SQLDBC_DLLEXPORT
00483 SQLDBC_Int4 SQLDBC_ParameterMetaData_getScale(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00484
00496 SQLDBC_DLLEXPORT
00497 SQLDBC_Int4 SQLDBC_ParameterMetaData_getPhysicalLength(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00498
00512 SQLDBC_DLLEXPORT
00513 ParameterNullBehavior SQLDBC_ParameterMetaData_isNullable(SQLDBC_ParameterMetaData* hdl, SQLDBC_Int2 param);
00514
00515
00520 #ifndef BUILD_INTERFACE_RUNTIME
00521 typedef struct SQLDBC_ResultSetMetaData SQLDBC_ResultSetMetaData;
00522 #endif
00523 #ifndef __cplusplus
00524 typedef
00525 #endif
00526 enum ColumnNullBehavior {
00530 columnNoNulls = 0,
00531
00535 columnNullable = 1,
00536
00540 columnNullableUnknown = 2
00541 }
00542 #ifndef __cplusplus
00543 ColumnNullBehavior
00544 #endif
00545 ;
00553 SQLDBC_DLLEXPORT
00554 SQLDBC_Int2 SQLDBC_ResultSetMetaData_getColumnCount(SQLDBC_ResultSetMetaData* hdl);
00555
00577 SQLDBC_DLLEXPORT
00578 SQLDBC_Retcode SQLDBC_ResultSetMetaData_getColumnName(SQLDBC_ResultSetMetaData* hdl,
00579 SQLDBC_Int2 column,
00580 char *buffer,
00581 SQLDBC_StringEncodingType_Encoding encoding,
00582 SQLDBC_Length bufferSize,
00583 SQLDBC_Length *bufferLength);
00584
00585
00596 SQLDBC_DLLEXPORT
00597 SQLDBC_SQLType SQLDBC_ResultSetMetaData_getColumnType(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00598
00609 SQLDBC_DLLEXPORT
00610 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getColumnLength(SQLDBC_ResultSetMetaData* hdl,SQLDBC_Int2 column);
00611
00626 SQLDBC_DLLEXPORT
00627 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getPrecision(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00628
00643 SQLDBC_DLLEXPORT
00644 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getScale(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00645
00657 SQLDBC_DLLEXPORT
00658 SQLDBC_Int4 SQLDBC_ResultSetMetaData_getPhysicalLength(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00659
00672 SQLDBC_DLLEXPORT
00673 ColumnNullBehavior SQLDBC_ResultSetMetaData_isNullable(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00674
00685 SQLDBC_DLLEXPORT
00686 SQLDBC_Bool SQLDBC_ResultSetMetaData_isWritable(SQLDBC_ResultSetMetaData* hdl, SQLDBC_Int2 column);
00687
00688
00700 #ifndef BUILD_INTERFACE_RUNTIME
00701 typedef struct SQLDBC_RowSet SQLDBC_RowSet;
00702 #endif
00703
00714
00715 SQLDBC_DLLEXPORT
00716 SQLDBC_ErrorHndl* SQLDBC_RowSet_getError(SQLDBC_RowSet* hdl);
00717
00722 SQLDBC_DLLEXPORT
00723 void SQLDBC_RowSet_clearError(SQLDBC_RowSet* hdl);
00724
00734
00735 SQLDBC_DLLEXPORT
00736 SQLDBC_SQLWarning* SQLDBC_RowSet_getWarning(SQLDBC_RowSet* hdl);
00737
00742 SQLDBC_DLLEXPORT
00743 void SQLDBC_RowSet_clearWarnings(SQLDBC_RowSet* hdl);
00744
00745
00757 SQLDBC_DLLEXPORT
00758 SQLDBC_Retcode SQLDBC_RowSet_setPos(SQLDBC_RowSet* hdl, SQLDBC_UInt4 pos);
00759
00768 SQLDBC_DLLEXPORT
00769 SQLDBC_Retcode SQLDBC_RowSet_fetch(SQLDBC_RowSet* hdl);
00770
00779 SQLDBC_DLLEXPORT
00780 SQLDBC_Int4 SQLDBC_RowSet_getRowsAffected(SQLDBC_RowSet* hdl);
00781
00795 SQLDBC_DLLEXPORT
00796 SQLDBC_Int4 * SQLDBC_RowSet_getRowStatus(SQLDBC_RowSet* hdl);
00797
00851 SQLDBC_DLLEXPORT
00852 SQLDBC_Retcode SQLDBC_RowSet_getObject(SQLDBC_RowSet* hdl,
00853 SQLDBC_Int4 Index,
00854 SQLDBC_HostType Type,
00855 void *paramAddr,
00856 SQLDBC_Length *LengthIndicator,
00857 SQLDBC_Length Size,
00858 SQLDBC_Bool Terminate);
00859
00916
00917 SQLDBC_DLLEXPORT
00918 SQLDBC_Retcode SQLDBC_RowSet_getObjectByPos(SQLDBC_RowSet* hdl,
00919 SQLDBC_Int4 Index,
00920 SQLDBC_HostType Type,
00921 void *paramAddr,
00922 SQLDBC_Length *LengthIndicator,
00923 SQLDBC_Length Size,
00924 SQLDBC_Length StartPos,
00925 SQLDBC_Bool Terminate);
00926
00927
00939 #ifndef BUILD_INTERFACE_RUNTIME
00940 typedef struct SQLDBC_UpdatableRowSet SQLDBC_UpdatableRowSet;
00941 #endif
00942
00953
00954 SQLDBC_DLLEXPORT
00955 SQLDBC_ErrorHndl* SQLDBC_UpdatableRowSet_getError(SQLDBC_UpdatableRowSet* hdl);
00956
00961 SQLDBC_DLLEXPORT
00962 void SQLDBC_UpdatableRowSet_clearError(SQLDBC_UpdatableRowSet* hdl);
00963
00973
00974 SQLDBC_DLLEXPORT
00975 SQLDBC_SQLWarning* SQLDBC_UpdatableRowSet_getWarning(SQLDBC_UpdatableRowSet* hdl);
00976
00981 SQLDBC_DLLEXPORT
00982 void SQLDBC_UpdatableRowSet_clearWarnings(SQLDBC_UpdatableRowSet* hdl);
00983
00984
00985
00997 SQLDBC_DLLEXPORT
00998 SQLDBC_Retcode SQLDBC_UpdatableRowSet_setPos(SQLDBC_UpdatableRowSet* hdl, SQLDBC_UInt4 pos);
00999
01008 SQLDBC_DLLEXPORT
01009 SQLDBC_Retcode SQLDBC_UpdatableRowSet_fetch(SQLDBC_UpdatableRowSet* hdl);
01010
01019 SQLDBC_DLLEXPORT
01020 SQLDBC_Int4 SQLDBC_UpdatableRowSet_getRowsAffected(SQLDBC_UpdatableRowSet* hdl);
01021
01035 SQLDBC_DLLEXPORT
01036 SQLDBC_Int4 * SQLDBC_UpdatableRowSet_getRowStatus(SQLDBC_UpdatableRowSet* hdl);
01037
01091 SQLDBC_DLLEXPORT
01092 SQLDBC_Retcode SQLDBC_UpdatableRowSet_getObject(SQLDBC_UpdatableRowSet* hdl,
01093 SQLDBC_Int4 Index,
01094 SQLDBC_HostType Type,
01095 void *paramAddr,
01096 SQLDBC_Length *LengthIndicator,
01097 SQLDBC_Length Size,
01098 SQLDBC_Bool Terminate);
01099
01156
01157 SQLDBC_DLLEXPORT
01158 SQLDBC_Retcode SQLDBC_UpdatableRowSet_getObjectByPos(SQLDBC_UpdatableRowSet* hdl,
01159 SQLDBC_Int4 Index,
01160 SQLDBC_HostType Type,
01161 void *paramAddr,
01162 SQLDBC_Length *LengthIndicator,
01163 SQLDBC_Length Size,
01164 SQLDBC_Length StartPos,
01165 SQLDBC_Bool Terminate);
01166
01176 SQLDBC_DLLEXPORT
01177 SQLDBC_Retcode SQLDBC_UpdatableRowSet_insertAllRows(SQLDBC_UpdatableRowSet* hdl);
01178
01186 SQLDBC_DLLEXPORT
01187 SQLDBC_Retcode SQLDBC_UpdatableRowSet_insertOneRow(SQLDBC_UpdatableRowSet* hdl);
01188
01199 SQLDBC_DLLEXPORT
01200 SQLDBC_Retcode SQLDBC_UpdatableRowSet_updateRow(SQLDBC_UpdatableRowSet* hdl, int position);
01201
01211 SQLDBC_DLLEXPORT
01212 SQLDBC_Retcode SQLDBC_UpdatableRowSet_deleteRow(SQLDBC_UpdatableRowSet* hdl, int position);
01213
01214
01298 #ifndef BUILD_INTERFACE_RUNTIME
01299 typedef struct SQLDBC_ResultSet SQLDBC_ResultSet;
01300 #endif
01301
01312
01313 SQLDBC_DLLEXPORT
01314 SQLDBC_ErrorHndl* SQLDBC_ResultSet_getError(SQLDBC_ResultSet* hdl);
01315
01320 SQLDBC_DLLEXPORT
01321 void SQLDBC_ResultSet_clearError(SQLDBC_ResultSet* hdl);
01322
01332
01333 SQLDBC_DLLEXPORT
01334 SQLDBC_SQLWarning* SQLDBC_ResultSet_getWarning(SQLDBC_ResultSet* hdl);
01335
01340 SQLDBC_DLLEXPORT
01341 void SQLDBC_ResultSet_clearWarnings(SQLDBC_ResultSet* hdl);
01342
01343
01344
01355 SQLDBC_DLLEXPORT
01356 SQLDBC_ResultSetMetaData* SQLDBC_ResultSet_getResultSetMetaData(SQLDBC_ResultSet* hdl);
01357
01364 SQLDBC_DLLEXPORT
01365 SQLDBC_Int4 SQLDBC_ResultSet_getResultCount (SQLDBC_ResultSet* hdl);
01366
01407 SQLDBC_DLLEXPORT
01408 SQLDBC_Retcode SQLDBC_ResultSet_bindColumn (SQLDBC_ResultSet* hdl,
01409 SQLDBC_UInt4 Index,
01410 SQLDBC_HostType Type,
01411 void *paramAddr,
01412 SQLDBC_Length *LengthIndicator,
01413 SQLDBC_Length Size,
01414 SQLDBC_Bool Terminate);
01415
01459
01460 SQLDBC_DLLEXPORT
01461 SQLDBC_Retcode SQLDBC_ResultSet_bindColumnByPos (SQLDBC_ResultSet* hdl,
01462 SQLDBC_UInt4 Index,
01463 SQLDBC_HostType Type,
01464 void *paramAddr,
01465 SQLDBC_Length *LengthIndicator,
01466 SQLDBC_Length *PositionIndicator,
01467 SQLDBC_Length Size,
01468 SQLDBC_Bool Terminate);
01469
01478 SQLDBC_DLLEXPORT
01479 SQLDBC_Retcode SQLDBC_ResultSet_clearColumns(SQLDBC_ResultSet* hdl);
01480
01492 SQLDBC_DLLEXPORT
01493 void SQLDBC_ResultSet_setFetchSize(SQLDBC_ResultSet* hdl, SQLDBC_Int2 fetchsize);
01494
01502 SQLDBC_DLLEXPORT
01503 void SQLDBC_ResultSet_setRowSetSize (SQLDBC_ResultSet *hdl, SQLDBC_UInt4 rowsetsize);
01504
01512 SQLDBC_DLLEXPORT
01513 SQLDBC_UInt4 SQLDBC_ResultSet_getRowSetSize (SQLDBC_ResultSet* hdl);
01514
01522 SQLDBC_DLLEXPORT
01523 SQLDBC_RowSet * SQLDBC_ResultSet_getRowSet (SQLDBC_ResultSet* hdl);
01524
01533 SQLDBC_DLLEXPORT
01534 SQLDBC_UpdatableRowSet * SQLDBC_ResultSet_getUpdatableRowSet (SQLDBC_ResultSet* hdl);
01535
01543 SQLDBC_DLLEXPORT
01544 SQLDBC_Statement * SQLDBC_ResultSet_getStatement(SQLDBC_ResultSet* hdl);
01545
01552 SQLDBC_DLLEXPORT
01553 SQLDBC_Bool * SQLDBC_ResultSet_isUpdatable(SQLDBC_ResultSet* hdl);
01554
01567 SQLDBC_DLLEXPORT
01568 SQLDBC_Retcode SQLDBC_ResultSet_first(SQLDBC_ResultSet* hdl);
01569
01587 SQLDBC_DLLEXPORT
01588 SQLDBC_Retcode SQLDBC_ResultSet_next(SQLDBC_ResultSet* hdl);
01589
01601 SQLDBC_DLLEXPORT
01602 SQLDBC_Retcode SQLDBC_ResultSet_previous(SQLDBC_ResultSet* hdl);
01603
01615 SQLDBC_DLLEXPORT
01616 SQLDBC_Retcode SQLDBC_ResultSet_last(SQLDBC_ResultSet* hdl);
01617
01648 SQLDBC_DLLEXPORT
01649 SQLDBC_Retcode SQLDBC_ResultSet_absolute (SQLDBC_ResultSet* hdl, int row);
01650
01674 SQLDBC_DLLEXPORT
01675 SQLDBC_Retcode SQLDBC_ResultSet_relative(SQLDBC_ResultSet* hdl, int relativePos);
01676
01682 SQLDBC_DLLEXPORT
01683 void SQLDBC_ResultSet_close(SQLDBC_ResultSet* hdl);
01684
01692 SQLDBC_DLLEXPORT
01693 SQLDBC_UInt4 SQLDBC_ResultSet_getRowNumber(SQLDBC_ResultSet* hdl);
01694
01748 SQLDBC_DLLEXPORT
01749 SQLDBC_Retcode SQLDBC_ResultSet_getObject(SQLDBC_ResultSet* hdl,
01750 SQLDBC_Int4 Index,
01751 SQLDBC_HostType Type,
01752 void *paramAddr,
01753 SQLDBC_Length *LengthIndicator,
01754 SQLDBC_Length Size,
01755 SQLDBC_Bool Terminate);
01756
01757
01814
01815 SQLDBC_DLLEXPORT
01816 SQLDBC_Retcode SQLDBC_ResultSet_getObjectByPos(SQLDBC_ResultSet* hdl,
01817 SQLDBC_Int4 Index,
01818 SQLDBC_HostType Type,
01819 void *paramAddr,
01820 SQLDBC_Length *LengthIndicator,
01821 SQLDBC_Length Size,
01822 SQLDBC_Length StartPos,
01823 SQLDBC_Bool Terminate);
01824
01825
01911
01912 SQLDBC_DLLEXPORT
01913 SQLDBC_ErrorHndl* SQLDBC_Statement_getError(SQLDBC_Statement* hdl);
01914
01919 SQLDBC_DLLEXPORT
01920 void SQLDBC_Statement_clearError(SQLDBC_Statement* hdl);
01921
01931
01932 SQLDBC_DLLEXPORT
01933 SQLDBC_SQLWarning* SQLDBC_Statement_getWarning(SQLDBC_Statement* hdl);
01934
01939 SQLDBC_DLLEXPORT
01940 void SQLDBC_Statement_clearWarnings(SQLDBC_Statement* hdl);
01941
01959 SQLDBC_DLLEXPORT
01960 SQLDBC_Retcode SQLDBC_Statement_execute(SQLDBC_Statement* hdl,
01961 char *sql,
01962 SQLDBC_Length sqlLength,
01963 SQLDBC_StringEncodingType_Encoding encoding);
01964
01982
01983 SQLDBC_DLLEXPORT
01984 SQLDBC_Retcode SQLDBC_Statement_executeNTS(SQLDBC_Statement* hdl,
01985 char *sql,
01986 SQLDBC_StringEncodingType_Encoding encoding);
01987
02002
02003 SQLDBC_DLLEXPORT
02004 SQLDBC_Retcode SQLDBC_Statement_executeASCII(SQLDBC_Statement* hdl, char *sql);
02005
02021 SQLDBC_DLLEXPORT
02022 void SQLDBC_Statement_setResultSetFetchSize(SQLDBC_Statement* hdl, SQLDBC_Int2 rows);
02023
02038 SQLDBC_DLLEXPORT
02039 void SQLDBC_Statement_setMaxRows(SQLDBC_Statement* hdl, SQLDBC_UInt4 rows);
02040
02050 SQLDBC_DLLEXPORT
02051 SQLDBC_UInt4 SQLDBC_Statement_getMaxRows(SQLDBC_Statement* hdl);
02052
02062 SQLDBC_DLLEXPORT
02063 SQLDBC_ResultSet * SQLDBC_Statement_getResultSet(SQLDBC_Statement* hdl);
02064
02080 SQLDBC_DLLEXPORT
02081 void SQLDBC_Statement_setCursorName(SQLDBC_Statement* hdl,
02082 char *buffer,
02083 SQLDBC_Length bufferLength,
02084 SQLDBC_StringEncodingType_Encoding encoding);
02085
02104 SQLDBC_DLLEXPORT
02105 SQLDBC_Retcode SQLDBC_Statement_setCommandInfo(SQLDBC_Statement* hdl,
02106 const char *buffer,
02107 SQLDBC_Length bufferLength,
02108 SQLDBC_Int4 lineNumber);
02132 SQLDBC_DLLEXPORT
02133 SQLDBC_Retcode SQLDBC_Statement_getCursorName(SQLDBC_Statement* hdl,
02134 char *buffer,
02135 SQLDBC_StringEncodingType_Encoding encoding,
02136 SQLDBC_Length bufferSize,
02137 SQLDBC_Length *bufferLength);
02138
02156 SQLDBC_DLLEXPORT
02157 SQLDBC_Retcode SQLDBC_Statement_getTableName(SQLDBC_Statement* hdl,
02158 char *buffer,
02159 SQLDBC_StringEncodingType_Encoding encoding,
02160 SQLDBC_Length bufferSize,
02161 SQLDBC_Length *bufferLength);
02162
02178 SQLDBC_DLLEXPORT
02179 SQLDBC_Bool SQLDBC_Statement_isQuery(SQLDBC_Statement* hdl);
02180
02192 SQLDBC_DLLEXPORT
02193 SQLDBC_Int4 SQLDBC_Statement_getRowsAffected(SQLDBC_Statement* hdl);
02194
02195 typedef enum SQLDBC_Statement_ResultSetType {
02196 SQLDBC_Statement_ResultSetType_FORWARD_ONLY = 1,
02197 SQLDBC_Statement_ResultSetType_SCROLL_SENSITIVE = 2,
02198 SQLDBC_Statement_ResultSetType_SCROLL_INSENSITIVE = 3
02199 } SQLDBC_Statement_ResultSetType ;
02200
02220 SQLDBC_DLLEXPORT
02221 void SQLDBC_Statement_setResultSetType (SQLDBC_Statement* hdl, SQLDBC_Statement_ResultSetType type );
02222
02234 SQLDBC_DLLEXPORT
02235 SQLDBC_Statement_ResultSetType SQLDBC_Statement_getResultSetType(SQLDBC_Statement* hdl);
02236
02237 typedef enum SQLDBC_Statement_ConcurrencyType {
02238 SQLDBC_Statement_ConcurrencyType_CONCUR_UPDATABLE = 10,
02239 SQLDBC_Statement_ConcurrencyType_CONCUR_READ_ONLY = 11
02240 }SQLDBC_Statement_ConcurrencyType;
02241
02256 SQLDBC_DLLEXPORT
02257 void SQLDBC_Statement_setResultSetConcurrencyType (SQLDBC_Statement* hdl, SQLDBC_Statement_ConcurrencyType type);
02258
02259 typedef enum SQLDBC_Statement_HoldabilityType {
02260 SQLDBC_Statement_HoldabilityType_CURSOR_HOLD_OVER_COMMIT = 20,
02261 SQLDBC_Statement_HoldabilityType_CURSOR_CLOSE_ON_COMMIT = 21
02262 } SQLDBC_Statement_HoldabilityType;
02263
02274 SQLDBC_DLLEXPORT
02275 SQLDBC_Statement_ConcurrencyType SQLDBC_Statement_getResultSetConcurrencyType(SQLDBC_Statement* hdl);
02276
02287 SQLDBC_DLLEXPORT
02288 SQLDBC_Int4 * SQLDBC_Statement_getRowStatus(SQLDBC_Statement* hdl);
02289
02297 SQLDBC_DLLEXPORT
02298 SQLDBC_UInt4 SQLDBC_Statement_getBatchSize(SQLDBC_Statement* hdl);
02299
02312 SQLDBC_DLLEXPORT
02313 SQLDBC_Retcode SQLDBC_Statement_addBatch(SQLDBC_Statement* hdl,
02314 char *sql,
02315 SQLDBC_Length sqlLength,
02316 SQLDBC_StringEncodingType_Encoding encoding);
02317
02326
02327 SQLDBC_DLLEXPORT
02328 SQLDBC_Retcode SQLDBC_Statement_addBatchNTS(SQLDBC_Statement* hdl,
02329 char *sql,
02330 SQLDBC_StringEncodingType_Encoding encoding);
02331
02340
02341 SQLDBC_DLLEXPORT
02342 SQLDBC_Retcode SQLDBC_Statement_addBatchASCII(SQLDBC_Statement* hdl, char *sql);
02343
02352 SQLDBC_DLLEXPORT
02353 SQLDBC_Retcode SQLDBC_Statement_executeBatch(SQLDBC_Statement* hdl);
02354
02360 SQLDBC_DLLEXPORT
02361 void SQLDBC_Statement_clearBatch(SQLDBC_Statement* hdl);
02362
02378 SQLDBC_DLLEXPORT
02379 SQLDBC_Retcode SQLDBC_Statement_getLastInsertedKey(SQLDBC_Statement *hdl,
02380 SQLDBC_Int4 tag,
02381 SQLDBC_HostType type,
02382 void *paramAddr,
02383 SQLDBC_Length *lengthIndicator,
02384 SQLDBC_Length size,
02385 SQLDBC_Bool terminate);
02386
02387
02388
02455 #ifndef BUILD_INTERFACE_RUNTIME
02456 typedef struct SQLDBC_PreparedStatement SQLDBC_PreparedStatement;
02457 #endif
02458
02469
02470 SQLDBC_DLLEXPORT
02471 SQLDBC_ErrorHndl* SQLDBC_PreparedStatement_getError(SQLDBC_PreparedStatement* hdl);
02472
02477 SQLDBC_DLLEXPORT
02478 void SQLDBC_PreparedStatement_clearError(SQLDBC_PreparedStatement* hdl);
02479
02489
02490 SQLDBC_DLLEXPORT
02491 SQLDBC_SQLWarning* SQLDBC_PreparedStatement_getWarning(SQLDBC_PreparedStatement* hdl);
02492
02497 SQLDBC_DLLEXPORT
02498 void SQLDBC_PreparedStatement_clearWarnings(SQLDBC_PreparedStatement* hdl);
02499
02500
02516 SQLDBC_DLLEXPORT
02517 void SQLDBC_PreparedStatement_setResultSetFetchSize(SQLDBC_PreparedStatement* hdl, SQLDBC_Int2 rows);
02518
02533 SQLDBC_DLLEXPORT
02534 void SQLDBC_PreparedStatement_setMaxRows(SQLDBC_PreparedStatement* hdl, SQLDBC_UInt4 rows);
02535
02545 SQLDBC_DLLEXPORT
02546 SQLDBC_UInt4 SQLDBC_PreparedStatement_getMaxRows(SQLDBC_PreparedStatement* hdl);
02547
02557 SQLDBC_DLLEXPORT
02558 SQLDBC_ResultSet * SQLDBC_PreparedStatement_getResultSet(SQLDBC_PreparedStatement* hdl);
02559
02575 SQLDBC_DLLEXPORT
02576 void SQLDBC_PreparedStatement_setCursorName(SQLDBC_PreparedStatement* hdl,
02577 const char *buffer,
02578 SQLDBC_Length bufferLength,
02579 const SQLDBC_StringEncodingType_Encoding encoding);
02580
02598 SQLDBC_DLLEXPORT
02599 SQLDBC_Retcode SQLDBC_PreparedStatement_setCommandInfo(SQLDBC_PreparedStatement* hdl,
02600 const char *buffer,
02601 SQLDBC_Length bufferLength,
02602 SQLDBC_Int4 lineNumber);
02626 SQLDBC_DLLEXPORT
02627 SQLDBC_Retcode SQLDBC_PreparedStatement_getCursorName(SQLDBC_PreparedStatement* hdl,
02628 char *buffer,
02629 const SQLDBC_StringEncodingType_Encoding encoding,
02630 const SQLDBC_Length bufferSize,
02631 SQLDBC_Length *bufferLength);
02632
02650 SQLDBC_DLLEXPORT
02651 SQLDBC_Retcode SQLDBC_PreparedStatement_getTableName(SQLDBC_PreparedStatement* hdl,
02652 char *buffer,
02653 const SQLDBC_StringEncodingType_Encoding encoding,
02654 const SQLDBC_Length bufferSize,
02655 SQLDBC_Length *bufferLength);
02656
02672 SQLDBC_DLLEXPORT
02673 SQLDBC_Bool SQLDBC_PreparedStatement_isQuery(SQLDBC_PreparedStatement* hdl);
02674
02686 SQLDBC_DLLEXPORT
02687 SQLDBC_Int4 SQLDBC_PreparedStatement_getRowsAffected(SQLDBC_PreparedStatement* hdl);
02688
02709 SQLDBC_DLLEXPORT
02710 void SQLDBC_PreparedStatement_setResultSetType (SQLDBC_PreparedStatement* hdl, SQLDBC_Statement_ResultSetType type );
02711
02724 SQLDBC_DLLEXPORT
02725 SQLDBC_Statement_ResultSetType SQLDBC_PreparedStatement_getResultSetType(SQLDBC_PreparedStatement* hdl);
02726
02742 SQLDBC_DLLEXPORT
02743 void SQLDBC_PreparedStatement_setResultSetConcurrencyType (SQLDBC_PreparedStatement* hdl, SQLDBC_Statement_ConcurrencyType type);
02744
02755 SQLDBC_DLLEXPORT
02756 SQLDBC_Statement_ConcurrencyType SQLDBC_PreparedStatement_getResultSetConcurrencyType(SQLDBC_PreparedStatement* hdl);
02757
02768 SQLDBC_DLLEXPORT
02769 SQLDBC_Int4 * SQLDBC_PreparedStatement_getRowStatus(SQLDBC_PreparedStatement* hdl);
02770
02778 SQLDBC_DLLEXPORT
02779 SQLDBC_UInt4 SQLDBC_PreparedStatement_getBatchSize(SQLDBC_PreparedStatement* hdl);
02780
02781
02790 SQLDBC_DLLEXPORT
02791 SQLDBC_Retcode SQLDBC_PreparedStatement_executeBatch(SQLDBC_PreparedStatement* hdl);
02792
02798 SQLDBC_DLLEXPORT
02799 void SQLDBC_PreparedStatement_clearBatch(SQLDBC_PreparedStatement* hdl);
02800
02816 SQLDBC_DLLEXPORT
02817 SQLDBC_Retcode SQLDBC_PreparedStatement_getLastInsertedKey(SQLDBC_PreparedStatement *hdl,
02818 SQLDBC_Int4 tag,
02819 SQLDBC_HostType type,
02820 void *paramAddr,
02821 SQLDBC_Length *lengthIndicator,
02822 SQLDBC_Length size,
02823 SQLDBC_Bool terminate);
02824
02835 SQLDBC_DLLEXPORT
02836 SQLDBC_Retcode SQLDBC_PreparedStatement_prepare(SQLDBC_PreparedStatement* hdl,
02837 const char *sql,
02838 const SQLDBC_Length sqlLength,
02839 const SQLDBC_StringEncodingType_Encoding encoding);
02840
02854
02855 SQLDBC_DLLEXPORT
02856 SQLDBC_Retcode SQLDBC_PreparedStatement_prepareNTS(SQLDBC_PreparedStatement* hdl,
02857 const char *sql,
02858 const SQLDBC_StringEncodingType_Encoding encoding);
02859
02870
02871 SQLDBC_DLLEXPORT
02872 SQLDBC_Retcode SQLDBC_PreparedStatement_prepareASCII(SQLDBC_PreparedStatement* hdl, const char *sql);
02873
02888
02889 SQLDBC_DLLEXPORT
02890 SQLDBC_Retcode SQLDBC_PreparedStatement_executeASCII(SQLDBC_PreparedStatement* hdl);
02891
02903 SQLDBC_DLLEXPORT
02904 SQLDBC_ParameterMetaData* SQLDBC_PreparedStatement_getParameterMetaData(SQLDBC_PreparedStatement* hdl);
02905
02928 SQLDBC_DLLEXPORT
02929 SQLDBC_ResultSetMetaData* SQLDBC_PreparedStatement_getResultSetMetaData(SQLDBC_PreparedStatement* hdl);
02930
02939 SQLDBC_DLLEXPORT
02940 SQLDBC_Retcode SQLDBC_PreparedStatement_setBatchSize(SQLDBC_PreparedStatement* hdl, SQLDBC_UInt4 rowarraysize);
02941
02955 SQLDBC_DLLEXPORT
02956 SQLDBC_UInt4 SQLDBC_PreparedStatement_getPreferredBatchSize(SQLDBC_PreparedStatement* hdl);
02957
02958
02970 SQLDBC_DLLEXPORT
02971 SQLDBC_Retcode SQLDBC_PreparedStatement_clearParameters(SQLDBC_PreparedStatement* hdl);
02972
02973
03013 SQLDBC_DLLEXPORT
03014 SQLDBC_Retcode SQLDBC_PreparedStatement_bindParameter (SQLDBC_PreparedStatement* hdl,
03015 const SQLDBC_UInt2 Index,
03016 const SQLDBC_HostType Type,
03017 void *paramAddr,
03018 SQLDBC_Length *LengthIndicator,
03019 const SQLDBC_Length Size,
03020 const SQLDBC_Bool Terminate);
03021
03065 SQLDBC_DLLEXPORT
03066 SQLDBC_Retcode SQLDBC_PreparedStatement_bindParameterAddr(SQLDBC_PreparedStatement* hdl,
03067 const SQLDBC_UInt2 Index,
03068 const SQLDBC_HostType Type,
03069 void *paramAddr,
03070 SQLDBC_Length *LengthIndicator,
03071 const SQLDBC_Length Size,
03072 const SQLDBC_Bool Terminate);
03073
03092 SQLDBC_DLLEXPORT
03093 SQLDBC_Retcode SQLDBC_PreparedStatement_setBindingType(SQLDBC_PreparedStatement* hdl, SQLDBC_size_t size);
03094
03095
03118 SQLDBC_DLLEXPORT
03119 SQLDBC_Retcode SQLDBC_PreparedStatement_nextParameterByIndex(SQLDBC_PreparedStatement* hdl, SQLDBC_Int2* paramIndex, void** paramAddr);
03120
03121
03136 SQLDBC_DLLEXPORT
03137 SQLDBC_Retcode SQLDBC_PreparedStatement_putData(SQLDBC_PreparedStatement* hdl, void *paramAddr, SQLDBC_Length *paramLengthIndicator);
03138
03188 SQLDBC_DLLEXPORT
03189 SQLDBC_Retcode SQLDBC_PreparedStatement_getObject(
03190 SQLDBC_PreparedStatement* hdl,
03191 SQLDBC_Int4 Index,
03192 SQLDBC_HostType Type,
03193 void *paramAddr,
03194 SQLDBC_Length *LengthIndicator,
03195 SQLDBC_Length Size,
03196 SQLDBC_Bool Terminate);
03197
03250
03251 SQLDBC_DLLEXPORT
03252 SQLDBC_Retcode SQLDBC_PreparedStatement_getObjectByPos(
03253 SQLDBC_PreparedStatement* hdl,
03254 SQLDBC_Int4 Index,
03255 SQLDBC_HostType Type,
03256 void *paramAddr,
03257 SQLDBC_Length *LengthIndicator,
03258 SQLDBC_Length Size,
03259 SQLDBC_Length StartPos,
03260 SQLDBC_Bool Terminate);
03261
03262
03340 #ifndef BUILD_INTERFACE_RUNTIME
03341 typedef struct SQLDBC_ConnectProperties SQLDBC_ConnectProperties;
03342 #endif
03343
03349 SQLDBC_DLLEXPORT
03350
03351 SQLDBC_ConnectProperties* SQLDBC_ConnectProperties_new_SQLDBC_ConnectProperties();
03352
03353
03358
03359 SQLDBC_DLLEXPORT
03360 void SQLDBC_ConnectProperties_delete_SQLDBC_ConnectProperties(SQLDBC_ConnectProperties* hdl);
03361
03362
03370 SQLDBC_DLLEXPORT
03371 void SQLDBC_ConnectProperties_setProperty(SQLDBC_ConnectProperties* hdl, const char *key, const char *value);
03372
03381 SQLDBC_DLLEXPORT
03382 char * SQLDBC_ConnectProperties_getProperty(SQLDBC_ConnectProperties* hdl, const char *key, const char *defaultvalue);
03383
03384
03385
03396 #ifndef BUILD_INTERFACE_RUNTIME
03397 typedef struct SQLDBC_Connection SQLDBC_Connection;
03398 #endif
03399
03410
03411 SQLDBC_DLLEXPORT
03412 SQLDBC_ErrorHndl* SQLDBC_Connection_getError(SQLDBC_Connection* hdl);
03413
03418 SQLDBC_DLLEXPORT
03419 void SQLDBC_Connection_clearError(SQLDBC_Connection* hdl);
03420
03430
03431 SQLDBC_DLLEXPORT
03432 SQLDBC_SQLWarning* SQLDBC_Connection_getWarning(SQLDBC_Connection* hdl);
03433
03438 SQLDBC_DLLEXPORT
03439 void SQLDBC_Connection_clearWarnings(SQLDBC_Connection* hdl);
03440
03441
03565 SQLDBC_DLLEXPORT
03566 SQLDBC_Retcode SQLDBC_Connection_connect(SQLDBC_Connection* hdl,
03567 const char* servernode,
03568 SQLDBC_Length servernodeLength,
03569 const char* serverdb,
03570 SQLDBC_Length serverdbLength,
03571 const char* username,
03572 SQLDBC_Length usernameLength,
03573 const char* password,
03574 SQLDBC_Length passwordLength,
03575 const SQLDBC_StringEncodingType_Encoding userpwdEncoding,
03576 const SQLDBC_ConnectProperties* properties);
03577
03601
03602 SQLDBC_DLLEXPORT
03603 SQLDBC_Retcode SQLDBC_Connection_connectNTS(SQLDBC_Connection* hdl,
03604 const char* servernode,
03605 const char* serverdb,
03606 const char* username,
03607 const char* password,
03608 const SQLDBC_StringEncodingType_Encoding userpwdEncoding,
03609 const SQLDBC_ConnectProperties* properties);
03610
03628
03629 SQLDBC_DLLEXPORT
03630 SQLDBC_Retcode SQLDBC_Connection_connectASCII(SQLDBC_Connection* hdl,
03631 const char* servernode,
03632 const char* serverdb,
03633 const char* username,
03634 const char* password,
03635 const SQLDBC_ConnectProperties* properties);
03636
03637
03638
03653
03654 SQLDBC_DLLEXPORT
03655 SQLDBC_Retcode SQLDBC_Connection_connectPROP(SQLDBC_Connection* hdl,
03656 const SQLDBC_ConnectProperties* properties);
03657
03658
03673 SQLDBC_DLLEXPORT
03674 SQLDBC_Statement * SQLDBC_Connection_createStatement(SQLDBC_Connection* hdl);
03675
03686 SQLDBC_DLLEXPORT
03687 SQLDBC_PreparedStatement * SQLDBC_Connection_createPreparedStatement(SQLDBC_Connection* hdl);
03688
03700 SQLDBC_DLLEXPORT
03701 SQLDBC_Retcode SQLDBC_Connection_commit(SQLDBC_Connection* hdl);
03702
03709 SQLDBC_DLLEXPORT
03710 SQLDBC_Retcode SQLDBC_Connection_rollback(SQLDBC_Connection* hdl);
03711
03718 SQLDBC_DLLEXPORT
03719 void SQLDBC_Connection_releaseStatement(SQLDBC_Connection* hdl, SQLDBC_Statement *stmt);
03720
03727
03728 SQLDBC_DLLEXPORT
03729 void SQLDBC_Connection_releasePreparedStatement(SQLDBC_Connection* hdl, SQLDBC_PreparedStatement *stmt);
03730
03747 SQLDBC_DLLEXPORT
03748 SQLDBC_Retcode SQLDBC_Connection_cancel(SQLDBC_Connection* hdl);
03749
03765 SQLDBC_DLLEXPORT
03766 SQLDBC_Retcode SQLDBC_Connection_close(SQLDBC_Connection* hdl);
03767
03768
03784 SQLDBC_DLLEXPORT
03785 SQLDBC_Retcode SQLDBC_Connection_commitWorkRelease(SQLDBC_Connection* hdl);
03786
03787
03805 SQLDBC_DLLEXPORT
03806 SQLDBC_Retcode SQLDBC_Connection_disconnect(SQLDBC_Connection* hdl);
03807
03808
03816 SQLDBC_DLLEXPORT
03817 void SQLDBC_Connection_setAutoCommit(SQLDBC_Connection* hdl, SQLDBC_Bool autocommit);
03818
03827 SQLDBC_DLLEXPORT
03828 SQLDBC_Bool SQLDBC_Connection_getAutoCommit(SQLDBC_Connection* hdl);
03829
03841 SQLDBC_DLLEXPORT
03842 void SQLDBC_Connection_setSQLMode(SQLDBC_Connection* hdl, SQLDBC_SQLMode sqlmode);
03843
03856 SQLDBC_DLLEXPORT
03857 SQLDBC_Retcode SQLDBC_Connection_setTransactionIsolation(SQLDBC_Connection* hdl, SQLDBC_Int4 isolationlevel);
03858
03867 SQLDBC_DLLEXPORT
03868 SQLDBC_Int4 SQLDBC_Connection_getTransactionIsolation(SQLDBC_Connection* hdl);
03869
03879 SQLDBC_DLLEXPORT
03880 SQLDBC_Bool SQLDBC_Connection_isConnected(SQLDBC_Connection* hdl);
03881
03896 SQLDBC_DLLEXPORT
03897 SQLDBC_Int4 SQLDBC_Connection_getKernelVersion(SQLDBC_Connection* hdl);
03898
03906 SQLDBC_DLLEXPORT
03907 SQLDBC_Bool SQLDBC_Connection_isUnicodeDatabase(SQLDBC_Connection* hdl);
03908
03915 SQLDBC_DLLEXPORT
03916 SQLDBC_DateTimeFormat_Format SQLDBC_Connection_getDateTimeFormat(SQLDBC_Connection* hdl);
03917
03918
03923 #ifndef BUILD_INTERFACE_RUNTIME
03924 typedef struct SQLDBC_Environment SQLDBC_Environment;
03925 #endif
03926
03933 SQLDBC_DLLEXPORT
03934
03935 SQLDBC_Environment* SQLDBC_Environment_new_SQLDBC_Environment(SQLDBC_IRuntime* runtime);
03936
03942 SQLDBC_DLLEXPORT
03943
03944 void SQLDBC_Environment_delete_SQLDBC_Environment(SQLDBC_Environment* hdl);
03945
03953 SQLDBC_DLLEXPORT
03954 SQLDBC_Connection * SQLDBC_Environment_createConnection(SQLDBC_Environment* hdl);
03955
03956
03964 SQLDBC_DLLEXPORT
03965 void SQLDBC_Environment_releaseConnection(SQLDBC_Environment* hdl, SQLDBC_Connection *connection);
03966
03982 SQLDBC_DLLEXPORT
03983 char * SQLDBC_Environment_getLibraryVersion(SQLDBC_Environment* hdl);
03984
03994 SQLDBC_DLLEXPORT
03995
03996 char *getSDKVersion();
03997
03998
03999 #ifdef SQLDBC_FEATURE_TRACEOPTION
04000
04071 SQLDBC_DLLEXPORT
04072 void SQLDBC_Environment_setTraceOptions(SQLDBC_Environment *hdl, const SQLDBC_ConnectProperties* traceoptions);
04073
04082 SQLDBC_DLLEXPORT
04083 void SQLDBC_Environment_getTraceOptions(SQLDBC_Environment *hdl, SQLDBC_ConnectProperties* traceoptions);
04084 #endif
04085
04095
04096 SQLDBC_DLLEXPORT SQLDBC_IRuntime* ClientRuntime_GetClientRuntime(char *errorText,SQLDBC_Int4 errorTextSize);
04097
04107
04108 SQLDBC_DLLEXPORT SQLDBC_IRuntime* ClientRuntime_GetSingleThreadClientRuntime(char *errorText,SQLDBC_Int4 errorTextSize);
04109
04110 #ifdef __cplusplus
04111 }
04112 #endif
04113
04114 #endif