00001 // @(#)root/odbc:$Id: TODBCRow.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Sergey Linev 6/02/2006 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2006, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TODBCRow 00013 #define ROOT_TODBCRow 00014 00015 #ifndef ROOT_TSQLRow 00016 #include "TSQLRow.h" 00017 #endif 00018 00019 #ifndef ROOT_TString 00020 #include "TString.h" 00021 #endif 00022 00023 #ifdef __CINT__ 00024 typedef void * SQLHSTMT; 00025 #else 00026 #ifdef WIN32 00027 #include "windows.h" 00028 #endif 00029 #include <sql.h> 00030 #endif 00031 00032 class TODBCRow : public TSQLRow { 00033 00034 protected: 00035 SQLHSTMT fHstmt; 00036 Int_t fFieldCount; 00037 char **fBuffer; 00038 ULong_t *fLengths; 00039 00040 void CopyFieldValue(Int_t field); 00041 00042 public: 00043 TODBCRow(SQLHSTMT stmt, Int_t fieldcount); 00044 virtual ~TODBCRow(); 00045 00046 void Close(Option_t *opt=""); 00047 ULong_t GetFieldLength(Int_t field); 00048 const char *GetField(Int_t field); 00049 00050 ClassDef(TODBCRow,0) // One row of ODBC query result 00051 }; 00052 00053 #endif