34 #ifndef __GoDBNameDescRow_h
35 #define __GoDBNameDescRow_h
39 #include "vtkMySQLDatabase.h"
61 virtual int SaveInDB(vtkMySQLDatabase *iDatabaseConnector) = 0;
70 virtual int DoesThisEntityAlreadyExists(
71 vtkMySQLDatabase *iDatabaseConnector) = 0;
83 virtual int DoesThisEntityAlreadyExistsAndReturnName(
84 vtkMySQLDatabase *iDatabaseConnector, std::string & ioName);
93 virtual int DoesThisNameAlreadyExists(vtkMySQLDatabase *iDatabaseConnector);
106 template<
typename T >
107 int SaveInDBTemplate(vtkMySQLDatabase *iDatabaseConnector, T iNewEntity)
109 int NewEntityID = iNewEntity.DoesThisEntityAlreadyExists(iDatabaseConnector);
111 if ( NewEntityID == -1 )
114 AddOnlyOneNewObjectInTable< T >(iDatabaseConnector,
115 iNewEntity.m_TableName,
116 iNewEntity, iNewEntity.m_TableIDName);