Source: hk_classes/hk_classes/hk_data.h
|
|
|
|
// ****************************************************************************
// copyright (c) 2000-2004 Horst Knorr
// This file is part of the hk_classes library.
// This file may be distributed and/or modified under the terms of the
// GNU Library Public License version 2 as published by the Free Software
// Foundation and appearing in the file COPYING included in the
// packaging of this file.
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
// ****************************************************************************
#ifndef HK_DATA
#define HK_DATA
#include "hk_class.h"
using namespace std;
const hk_string defaulttextdelimiter="\'";
const hk_string defaultidentifierdelimiter="\"";
/**
*@short Base class for all kind of queries
*@version $Revision: 1.5 $
*@author Horst Knorr (hk_classes@knoda.org)
*@internal
*for internal use only.
*Base class for queries of all type
*/
class hk_data: public hk_class
{
friend class hk_database;
public:
/**
*name of the Datasource. If the datasource is of type "Table","Query", this name will be used to create automatically
*a SQL-statement : "SELECT * FROM "
*/
virtual hk_string name(void) const;
virtual void set_name(const hk_string& n);
/**
*Datasources can be of different types (i.e. table). You never should get in contact with ds_unkown (which would
*be understood as a bug)
*
*/
enum enum_datasourcetypes {ds_table,ds_query,ds_actionquery,ds_view,ds_unknown};
virtual enum_datasourcetypes type(void) const;
hk_string identifierdelimiter(void) const {return p_identifierdelimiter;}
hk_string textdelimiter(void) const {return p_sqltextdelimiter;}
static bool print_sqlstatements(void) {return p_print_sqlstatements;}
static void set_print_sqlstatements(bool p);
protected:
hk_data();
virtual ~hk_data();
virtual void before_source_vanishes(void);
virtual void before_connection_disconnects(void);
virtual void filelist_changes(listtype t);
virtual bool driver_specific_name(const hk_string& n);
hk_string p_name;
hk_string p_sqltextdelimiter;
hk_string p_identifierdelimiter;
static bool p_print_sqlstatements;//will be used to decide whether sql statements will be printed to cerr
private:
//p_already_handled is used from hk_database in bulk operations to find out if this object has been already handled.
bool p_already_handled;
};
#endif
Generated by: horst on horstnotebook on Mon Nov 22 10:41:06 2004, using kdoc 2.0a54. |