browsedb.cpp browsedb.h dbbrowse.cpp dbbrowse.h dbbrowse.rc
dbgrid.cpp dbgrid.h dbtree.cpp dbtree.h dlguser.cpp dlguser.h doc.cpp doc.h pgmctrl.cpp pgmctrl.h git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,478 +1,471 @@
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Name: BrowserDB.h,cpp
|
||||
// Purpose: a wxDB;
|
||||
// Purpose: a wxDB class
|
||||
// Author: Mark Johnson, mj10777@gmx.net
|
||||
// Modified by:
|
||||
// Created: 19991127.mj10777
|
||||
// Copyright: (c) Mark Johnson
|
||||
// Licence: wxWindows license
|
||||
// RCS-ID: $Id$
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- 1)
|
||||
//---------------------------------------------------------------------------
|
||||
//-- all #ifdefs that the whole Project needs. ------------------------------
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
//-- all #ifdefs that the whole Project needs. -------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation
|
||||
#pragma interface
|
||||
#endif
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include <wx/dbtable.h>
|
||||
#include "std.h"
|
||||
#include <iostream>
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Global structure for holding ODBC connection information
|
||||
// - darf nur einmal im Projekte definiert werden ?? Extra Databasse Klasse ?
|
||||
struct DbStuff ConnectInf; // F<>r DBase
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
extern DbList* WXDLLEXPORT PtrBegDbList; /* from db.cpp, used in getting back error results from db connections */
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
char *GetExtendedDBErrorMsg(char *ErrFile, int ErrLine)
|
||||
{
|
||||
static wxString msg;
|
||||
wxString tStr;
|
||||
if (ErrFile || ErrLine)
|
||||
{
|
||||
msg += "File: ";
|
||||
msg += ErrFile;
|
||||
msg += " Line: ";
|
||||
tStr.Printf("%d",ErrLine);
|
||||
msg += tStr.GetData();
|
||||
// msg += "\n";
|
||||
}
|
||||
msg.Append ("\nODBC errors:\n");
|
||||
static wxString msg;
|
||||
wxString tStr;
|
||||
if (ErrFile || ErrLine)
|
||||
{
|
||||
msg += "File: ";
|
||||
msg += ErrFile;
|
||||
msg += " Line: ";
|
||||
tStr.Printf("%d",ErrLine);
|
||||
msg += tStr.GetData();
|
||||
// msg += "\n";
|
||||
/* Scan through each database connection displaying
|
||||
* any ODBC errors that have occured. */
|
||||
for (DbList *pDbList = PtrBegDbList; pDbList; pDbList = pDbList->PtrNext)
|
||||
{
|
||||
// Skip over any free connections
|
||||
if (pDbList->Free)
|
||||
continue;
|
||||
// Display errors for this connection
|
||||
for (int i = 0; i < DB_MAX_ERROR_HISTORY; i++)
|
||||
{
|
||||
if (pDbList->PtrDb->errorList[i])
|
||||
{
|
||||
msg.Append(pDbList->PtrDb->errorList[i]);
|
||||
if (strcmp(pDbList->PtrDb->errorList[i],"") != 0)
|
||||
msg.Append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
msg += "\n";
|
||||
return (char*) (const char*) msg;
|
||||
}
|
||||
msg.Append ("\nODBC errors:\n");
|
||||
// msg += "\n";
|
||||
/* Scan through each database connection displaying
|
||||
* any ODBC errors that have occured. */
|
||||
for (DbList *pDbList = PtrBegDbList; pDbList; pDbList = pDbList->PtrNext)
|
||||
{
|
||||
// Skip over any free connections
|
||||
if (pDbList->Free)
|
||||
continue;
|
||||
// Display errors for this connection
|
||||
for (int i = 0; i < DB_MAX_ERROR_HISTORY; i++)
|
||||
{
|
||||
if (pDbList->PtrDb->errorList[i])
|
||||
{
|
||||
msg.Append(pDbList->PtrDb->errorList[i]);
|
||||
if (strcmp(pDbList->PtrDb->errorList[i],"") != 0)
|
||||
msg.Append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
msg += "\n";
|
||||
return (char*) (const char*) msg;
|
||||
} // GetExtendedDBErrorMsg
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
BrowserDB::BrowserDB()
|
||||
{
|
||||
Zeiger_auf_NULL(0);
|
||||
ODBCSource = ""; // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||
UserName = ""; // database username - must already exist in the data source
|
||||
Password = ""; // password database username
|
||||
OnFillSqlTyp();
|
||||
OnFilldbTyp();
|
||||
Zeiger_auf_NULL(0);
|
||||
ODBCSource = ""; // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||
UserName = ""; // database username - must already exist in the data source
|
||||
Password = ""; // password database username
|
||||
OnFillSqlTyp();
|
||||
OnFilldbTyp();
|
||||
} // BrowserDB Constructor
|
||||
//---------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
BrowserDB::~BrowserDB()
|
||||
{
|
||||
Zeiger_auf_NULL(1); // Clean up Tables and Databases (Commit, Close und delete)
|
||||
} // BrowserDB destructor
|
||||
//--------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::Initialize(int Quite)
|
||||
{
|
||||
if (!OnStartDB(Quite))
|
||||
{
|
||||
wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str());
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
if (!OnStartDB(Quite))
|
||||
{
|
||||
wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str());
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
} // BrowserDB:Initialize
|
||||
//--------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnStartDB(int Quite)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB(%s) : Begin "),ODBCSource.c_str());
|
||||
if (db_BrowserDB != NULL)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB(%s) : Begin "),ODBCSource.c_str());
|
||||
if (db_BrowserDB != NULL)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB() : DB is allready open."));
|
||||
return TRUE;
|
||||
}
|
||||
// Initialize the ODBC Environment for Database Operations
|
||||
if (SQLAllocEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-E-> BrowserDB::OnStartDB() : DB CONNECTION ERROR : A problem occured while trying to get a connection to the data source"));
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
// Connect to datasource
|
||||
//---------------------------
|
||||
DlgUser *p_Dlg = new DlgUser(pDoc->p_MainFrame, "Username and Password");
|
||||
p_Dlg->s_DSN = ODBCSource;
|
||||
p_Dlg->s_User = UserName;
|
||||
p_Dlg->s_Password = Password;
|
||||
p_Dlg->OnInit();
|
||||
p_Dlg->Fit();
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnStartDB() : DB is allready open."));
|
||||
return TRUE;
|
||||
}
|
||||
// Initialize the ODBC Environment for Database Operations
|
||||
if (SQLAllocEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-E-> BrowserDB::OnStartDB() : DB CONNECTION ERROR : A problem occured while trying to get a connection to the data source"));
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
// Connect to datasource
|
||||
//---------------------------------------------------------------------------------------
|
||||
DlgUser *p_Dlg = new DlgUser(pDoc->p_MainFrame, "Username and Password");
|
||||
p_Dlg->pDoc = pDoc;
|
||||
p_Dlg->s_DSN = ODBCSource;
|
||||
p_Dlg->s_User = UserName;
|
||||
p_Dlg->s_Password = Password;
|
||||
p_Dlg->OnInit();
|
||||
p_Dlg->Fit();
|
||||
|
||||
bool OK = FALSE;
|
||||
if (p_Dlg->ShowModal() == wxID_OK)
|
||||
{
|
||||
(pDoc->p_DSN+i_Which)->Usr = p_Dlg->s_User;
|
||||
(pDoc->p_DSN+i_Which)->Pas = p_Dlg->s_Password;
|
||||
UserName = p_Dlg->s_User;
|
||||
Password = p_Dlg->s_Password;
|
||||
OK = TRUE;
|
||||
}
|
||||
//p_Dlg.Destroy();
|
||||
delete p_Dlg;
|
||||
|
||||
if (OK)
|
||||
{
|
||||
//---------------------------
|
||||
strcpy(ConnectInf.Dsn, ODBCSource); // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||
strcpy(ConnectInf.Uid, UserName); // database username - must already exist in the data source
|
||||
strcpy(ConnectInf.AuthStr, Password); // password database username
|
||||
db_BrowserDB = GetDbConnection(&ConnectInf);
|
||||
// wxLogMessage(">>>%s<<<>>>%s<<<",UserName.c_str(),Password.c_str());
|
||||
if (db_BrowserDB == NULL)
|
||||
{
|
||||
strcpy(ConnectInf.Dsn, "");
|
||||
strcpy(ConnectInf.Uid, "");
|
||||
strcpy(ConnectInf.AuthStr, "");
|
||||
if (!Quite)
|
||||
{
|
||||
wxLogMessage(_("\n-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n\nCheck the name of your data source to verify it has been correctly entered/spelled.\n\nWith some databases, the user name and password must\nbe created with full rights to the table prior to making a connection\n(using tools provided by the database manufacturer)"));
|
||||
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
//--------------------------------------------------------------------------
|
||||
if (!Quite)
|
||||
{
|
||||
Temp1 = db_BrowserDB->GetDatabaseName();
|
||||
Temp2 = db_BrowserDB->GetDataSource();
|
||||
wxLogMessage(_("-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"),Temp1.c_str(),Temp2.c_str());
|
||||
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
|
||||
}
|
||||
return TRUE;
|
||||
} else return FALSE;
|
||||
bool OK = FALSE;
|
||||
if (p_Dlg->ShowModal() == wxID_OK)
|
||||
{
|
||||
(pDoc->p_DSN+i_Which)->Usr = p_Dlg->s_User;
|
||||
(pDoc->p_DSN+i_Which)->Pas = p_Dlg->s_Password;
|
||||
UserName = p_Dlg->s_User;
|
||||
Password = p_Dlg->s_Password;
|
||||
OK = TRUE;
|
||||
}
|
||||
delete p_Dlg;
|
||||
if (OK)
|
||||
{
|
||||
//--------------------------------------------------------------------------------------
|
||||
strcpy(ConnectInf.Dsn, ODBCSource); // ODBC data source name (created with ODBC Administrator under Win95/NT)
|
||||
strcpy(ConnectInf.Uid, UserName); // database username - must already exist in the data source
|
||||
strcpy(ConnectInf.AuthStr, Password); // password database username
|
||||
db_BrowserDB = GetDbConnection(&ConnectInf);
|
||||
// wxLogMessage(">>>%s<<<>>>%s<<<",UserName.c_str(),Password.c_str());
|
||||
if (db_BrowserDB == NULL)
|
||||
{
|
||||
strcpy(ConnectInf.Dsn, "");
|
||||
strcpy(ConnectInf.Uid, "");
|
||||
strcpy(ConnectInf.AuthStr, "");
|
||||
if (!Quite)
|
||||
{
|
||||
wxLogMessage(_("\n-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n\nCheck the name of your data source to verify it has been correctly entered/spelled.\n\nWith some databases, the user name and password must\nbe created with full rights to the table prior to making a connection\n(using tools provided by the database manufacturer)"));
|
||||
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
//--------------------------------------------------------------------------------------
|
||||
if (!Quite)
|
||||
{
|
||||
Temp1 = db_BrowserDB->GetDatabaseName();
|
||||
Temp2 = db_BrowserDB->GetDataSource();
|
||||
wxLogMessage(_("-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"),Temp1.c_str(),Temp2.c_str());
|
||||
wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
|
||||
}
|
||||
return TRUE;
|
||||
} else return FALSE;
|
||||
}
|
||||
//--------------------------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnCloseDB(int Quite)
|
||||
{
|
||||
if (!Quite)
|
||||
wxLogMessage(_("-I-> BrowserDB::OnCloseDB() : Begin "));
|
||||
if (db_BrowserDB)
|
||||
{
|
||||
db_BrowserDB->Close();
|
||||
FreeDbConnection(db_BrowserDB);
|
||||
|
||||
// Free Environment Handle that ODBC uses
|
||||
if (SQLFreeEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||
{
|
||||
// Error freeing environment handle
|
||||
}
|
||||
db_BrowserDB = NULL;
|
||||
}
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnCloseDB() : End "));
|
||||
return TRUE;
|
||||
if (!Quite)
|
||||
wxLogMessage(_("-I-> BrowserDB::OnCloseDB() : Begin "));
|
||||
if (db_BrowserDB)
|
||||
{
|
||||
db_BrowserDB->Close();
|
||||
FreeDbConnection(db_BrowserDB);
|
||||
|
||||
// Free Environment Handle that ODBC uses
|
||||
if (SQLFreeEnv(&ConnectInf.Henv) != SQL_SUCCESS)
|
||||
{
|
||||
// Error freeing environment handle
|
||||
}
|
||||
db_BrowserDB = NULL;
|
||||
}
|
||||
if (!Quite)
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnCloseDB() : End "));
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnGetNext(int Cols,int Quite)
|
||||
{
|
||||
SDWORD cb;
|
||||
int i_dbDataType;
|
||||
int i=0;
|
||||
char s_temp[1024+1];
|
||||
long l_temp;
|
||||
double f_temp;
|
||||
int AnzError=0;
|
||||
TIMESTAMP_STRUCT t_temp;
|
||||
wxString Temp0;
|
||||
//-----------------------------
|
||||
if (!db_BrowserDB->GetNext())
|
||||
{
|
||||
return FALSE;
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n-E-> "));
|
||||
SDWORD cb;
|
||||
int i_dbDataType;
|
||||
int i=0;
|
||||
char s_temp[1024+1];
|
||||
long l_temp;
|
||||
double f_temp;
|
||||
int AnzError=0;
|
||||
TIMESTAMP_STRUCT t_temp;
|
||||
wxString Temp0;
|
||||
//-----------------------------
|
||||
if (!db_BrowserDB->GetNext())
|
||||
{
|
||||
return FALSE;
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
wxMessageBox(Temp0);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0;i<Cols;i++)
|
||||
{
|
||||
strcpy((cl_BrowserDB+i)->tableName,"-E->");
|
||||
i_dbDataType = (cl_BrowserDB->pColFor+i)->i_dbDataType;
|
||||
if (i_dbDataType == 0) // Filter unsupported dbDataTypes
|
||||
{
|
||||
if (((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_VARCHAR) || ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_LONGVARCHAR))
|
||||
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DATE)
|
||||
i_dbDataType = DB_DATA_TYPE_DATE;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_BIT)
|
||||
i_dbDataType = DB_DATA_TYPE_INTEGER;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_NUMERIC)
|
||||
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_REAL)
|
||||
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||
}
|
||||
if ((i_dbDataType == DB_DATA_TYPE_INTEGER) && ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DOUBLE))
|
||||
{ // DBASE Numeric
|
||||
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||
}
|
||||
switch(i_dbDataType)
|
||||
{
|
||||
case DB_DATA_TYPE_VARCHAR:
|
||||
strcpy(s_temp,"");
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_dbDataType,&s_temp,sizeof(s_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext of >%s<.\n-E-> "),(cl_BrowserDB+i)->tableName);
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
}
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,s_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
break;
|
||||
case DB_DATA_TYPE_INTEGER:
|
||||
l_temp = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&l_temp,sizeof(l_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
}
|
||||
else
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,l_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
break;
|
||||
case DB_DATA_TYPE_FLOAT:
|
||||
f_temp = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&f_temp,sizeof(f_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxMessageBox(Temp0);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0;i<Cols;i++)
|
||||
{
|
||||
strcpy((cl_BrowserDB+i)->tableName,"-E->");
|
||||
i_dbDataType = (cl_BrowserDB->pColFor+i)->i_dbDataType;
|
||||
if (i_dbDataType == 0) // Filter unsupported dbDataTypes
|
||||
{
|
||||
if (((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_VARCHAR) || ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_LONGVARCHAR))
|
||||
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DATE)
|
||||
i_dbDataType = DB_DATA_TYPE_DATE;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_BIT)
|
||||
i_dbDataType = DB_DATA_TYPE_INTEGER;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_NUMERIC)
|
||||
i_dbDataType = DB_DATA_TYPE_VARCHAR;
|
||||
if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_REAL)
|
||||
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||
}
|
||||
if ((i_dbDataType == DB_DATA_TYPE_INTEGER) && ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DOUBLE))
|
||||
{ // DBASE Numeric
|
||||
i_dbDataType = DB_DATA_TYPE_FLOAT;
|
||||
}
|
||||
switch(i_dbDataType)
|
||||
{
|
||||
case DB_DATA_TYPE_VARCHAR:
|
||||
strcpy(s_temp,"");
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_dbDataType,&s_temp,sizeof(s_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext of >%s<.\n-E-> "),(cl_BrowserDB+i)->tableName);
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
}
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,s_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
break;
|
||||
case DB_DATA_TYPE_INTEGER:
|
||||
l_temp = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&l_temp,sizeof(l_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
}
|
||||
else
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,l_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
break;
|
||||
case DB_DATA_TYPE_FLOAT:
|
||||
f_temp = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&f_temp,sizeof(f_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxMessageBox(Temp0);
|
||||
}
|
||||
else
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,f_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
break;
|
||||
case DB_DATA_TYPE_DATE:
|
||||
t_temp.day = t_temp.month = t_temp.year = t_temp.hour = t_temp.minute = t_temp.second = t_temp.fraction = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&t_temp,sizeof(t_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
}
|
||||
else
|
||||
{
|
||||
// i_Nation = 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
|
||||
if (((cl_BrowserDB->pColFor+i)->i_Nation == 0) || // TS YYYY-MM-DD
|
||||
((cl_BrowserDB->pColFor+i)->i_Nation == 3)) // IT YYYY-MM-DD
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.year,t_temp.month,t_temp.day,
|
||||
}
|
||||
else
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,f_temp);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
break;
|
||||
case DB_DATA_TYPE_DATE:
|
||||
t_temp.day = t_temp.month = t_temp.year = t_temp.hour = t_temp.minute = t_temp.second = t_temp.fraction = 0;
|
||||
if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&t_temp,sizeof(t_temp), &cb))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
}
|
||||
else
|
||||
{
|
||||
// i_Nation = 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
|
||||
if (((cl_BrowserDB->pColFor+i)->i_Nation == 0) || // TS YYYY-MM-DD
|
||||
((cl_BrowserDB->pColFor+i)->i_Nation == 3)) // IT YYYY-MM-DD
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.year,t_temp.month,t_temp.day,
|
||||
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
if ( ((cl_BrowserDB->pColFor+i)->i_Nation == 1) || // EU DD.MM.YYYY
|
||||
((cl_BrowserDB->pColFor+i)->i_Nation == 2)) // UK DD/MM/YYYY
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.day,t_temp.month,t_temp.year,
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
if (((cl_BrowserDB->pColFor+i)->i_Nation == 1) || // EU DD.MM.YYYY
|
||||
((cl_BrowserDB->pColFor+i)->i_Nation == 2)) // UK DD/MM/YYYY
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.day,t_temp.month,t_temp.year,
|
||||
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
if ((cl_BrowserDB->pColFor+i)->i_Nation == 3) // US MM/DD/YYYY
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.month,t_temp.day,t_temp.year,
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
if ((cl_BrowserDB->pColFor+i)->i_Nation == 3) // US MM/DD/YYYY
|
||||
{
|
||||
Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.month,t_temp.day,t_temp.year,
|
||||
t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AnzError++;
|
||||
if (AnzError <= 100)
|
||||
{
|
||||
Temp0 = (cl_BrowserDB+i)->colName;
|
||||
wxLogMessage(_("-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,Temp0.c_str());
|
||||
}
|
||||
else
|
||||
return TRUE;
|
||||
Temp0.Printf(_("-E-> unknown Format(%d) - sql(%d)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,(cl_BrowserDB->pColFor+i)->i_sqlDataType);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
break;
|
||||
};
|
||||
}
|
||||
}
|
||||
// wxLogMessage("-E-> BrowserDB::OnGetNext - End");
|
||||
return TRUE;
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AnzError++;
|
||||
if (AnzError <= 100)
|
||||
{
|
||||
Temp0 = (cl_BrowserDB+i)->colName;
|
||||
wxLogMessage(_("-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,Temp0.c_str());
|
||||
}
|
||||
else
|
||||
return TRUE;
|
||||
Temp0.Printf(_("-E-> unknown Format(%d) - sql(%d)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,(cl_BrowserDB->pColFor+i)->i_sqlDataType);
|
||||
strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
|
||||
break;
|
||||
};
|
||||
}
|
||||
}
|
||||
// wxLogMessage("-E-> BrowserDB::OnGetNext - End");
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnSelect(wxString tb_Name, int Quite)
|
||||
{
|
||||
wxString SQLStmt;
|
||||
i_Records = 0;
|
||||
//--------------------------------------------------------------------------
|
||||
SQLStmt.sprintf("SELECT * FROM %s",tb_Name.c_str());
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
wxMessageBox("-E-> BrowserDB::OnSelect - GetData()");
|
||||
return FALSE;
|
||||
}
|
||||
//--------------------------------------------------------------------------
|
||||
while (db_BrowserDB->GetNext())
|
||||
{
|
||||
i_Records++;
|
||||
}
|
||||
//--------------------------------------------------------------------------
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
return FALSE;
|
||||
}
|
||||
//--------------------------------------------------------------------------
|
||||
// SetColDefs ( 0,"NAME", DB_DATA_TYPE_VARCHAR, Name, SQL_C_CHAR, sizeof(Name), TRUE, TRUE); // Primary index
|
||||
//--------------------------------------------------------------------------
|
||||
if (!Quite)
|
||||
{
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnSelect(%s) Records(%d): End "),tb_Name.c_str(),i_Records);
|
||||
}
|
||||
return TRUE;
|
||||
wxString SQLStmt;
|
||||
i_Records = 0;
|
||||
//---------------------------------------------------------------------------------------
|
||||
SQLStmt.sprintf("SELECT * FROM %s",tb_Name.c_str());
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
wxMessageBox("-E-> BrowserDB::OnSelect - GetData()");
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
while (db_BrowserDB->GetNext())
|
||||
{
|
||||
i_Records++;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
wxLogMessage(Temp0);
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
// SetColDefs ( 0,"NAME", DB_DATA_TYPE_VARCHAR, Name, SQL_C_CHAR, sizeof(Name), TRUE, TRUE); // Primary index
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (!Quite)
|
||||
{
|
||||
wxLogMessage(_("\n-I-> BrowserDB::OnSelect(%s) Records(%d): End "),tb_Name.c_str(),i_Records);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
bool BrowserDB::OnExecSql(wxString SQLStmt, int Quite)
|
||||
{
|
||||
//--------------------------------------------------------------------------
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n-E-> "),SQLStmt.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
if (!Quite)
|
||||
wxLogMessage(Temp0);
|
||||
else
|
||||
wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()");
|
||||
return FALSE;
|
||||
}
|
||||
//---------------------------------------------------------------------------------------
|
||||
if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
|
||||
{
|
||||
Temp0.Printf(_("\n-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n-E-> "),SQLStmt.c_str());
|
||||
Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
|
||||
if (!Quite)
|
||||
{
|
||||
// wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End "),SQLStmt.c_str());
|
||||
}
|
||||
return TRUE;
|
||||
wxLogMessage(Temp0);
|
||||
else
|
||||
wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()");
|
||||
return FALSE;
|
||||
}
|
||||
if (!Quite)
|
||||
{
|
||||
// wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End "),SQLStmt.c_str());
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
wxDbInf* BrowserDB::OnGetCatalog(int Quite)
|
||||
{
|
||||
char UName[255];
|
||||
strcpy(UName,UserName);
|
||||
ct_BrowserDB = db_BrowserDB->GetCatalog(UName);
|
||||
return ct_BrowserDB;
|
||||
char UName[255];
|
||||
strcpy(UName,UserName);
|
||||
ct_BrowserDB = db_BrowserDB->GetCatalog(UName);
|
||||
return ct_BrowserDB;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
wxColInf* BrowserDB::OnGetColumns(char *tableName, int numCols,int Quite)
|
||||
{
|
||||
char UName[255];
|
||||
int i;
|
||||
strcpy(UName,UserName);
|
||||
cl_BrowserDB = db_BrowserDB->GetColumns(tableName,&numCols,UName);
|
||||
cl_BrowserDB->pColFor = new wxColFor[numCols];
|
||||
for (i=0;i<numCols;i++)
|
||||
{
|
||||
(cl_BrowserDB->pColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType,
|
||||
(cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits);
|
||||
}
|
||||
return cl_BrowserDB;
|
||||
char UName[255];
|
||||
int i;
|
||||
strcpy(UName,UserName);
|
||||
cl_BrowserDB = db_BrowserDB->GetColumns(tableName,&numCols,UName);
|
||||
cl_BrowserDB->pColFor = new wxColFor[numCols];
|
||||
for (i=0;i<numCols;i++)
|
||||
{
|
||||
(cl_BrowserDB->pColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType,
|
||||
(cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits);
|
||||
}
|
||||
return cl_BrowserDB;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void BrowserDB::Zeiger_auf_NULL(int Art)
|
||||
{
|
||||
if (Art == 1) // L<>schen
|
||||
{
|
||||
if (cl_BrowserDB != NULL)
|
||||
{ // Destroy the memory
|
||||
delete [] cl_BrowserDB;
|
||||
}
|
||||
if (ct_BrowserDB != NULL)
|
||||
{ // Destroy the memory
|
||||
delete [] ct_BrowserDB;
|
||||
}
|
||||
if (db_BrowserDB != NULL)
|
||||
{
|
||||
db_BrowserDB->CommitTrans();
|
||||
db_BrowserDB->Close();
|
||||
CloseDbConnections();
|
||||
delete db_BrowserDB;
|
||||
}
|
||||
}
|
||||
cl_BrowserDB = NULL;
|
||||
ct_BrowserDB = NULL;
|
||||
db_BrowserDB = NULL;
|
||||
p_LogWindow = NULL;
|
||||
if (Art == 1) // L<>schen
|
||||
{
|
||||
if (cl_BrowserDB != NULL)
|
||||
{ // Destroy the memory
|
||||
delete [] cl_BrowserDB;
|
||||
}
|
||||
if (ct_BrowserDB != NULL)
|
||||
{ // Destroy the memory
|
||||
delete [] ct_BrowserDB;
|
||||
}
|
||||
if (db_BrowserDB != NULL)
|
||||
{
|
||||
db_BrowserDB->CommitTrans();
|
||||
db_BrowserDB->Close();
|
||||
CloseDbConnections();
|
||||
delete db_BrowserDB;
|
||||
}
|
||||
}
|
||||
cl_BrowserDB = NULL;
|
||||
ct_BrowserDB = NULL;
|
||||
db_BrowserDB = NULL;
|
||||
p_LogWindow = NULL;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void BrowserDB::OnFillSqlTyp()
|
||||
{
|
||||
i_SqlTyp[1] = SQL_C_BINARY; s_SqlTyp[1] = "SQL_C_BINARY";
|
||||
i_SqlTyp[2] = SQL_C_BIT; s_SqlTyp[2] = "SQL_C_BIT";
|
||||
i_SqlTyp[3] = SQL_C_BOOKMARK; s_SqlTyp[3] = "SQL_C_BOOKMARK";
|
||||
i_SqlTyp[4] = SQL_C_CHAR; s_SqlTyp[4] = "SQL_C_CHAR";
|
||||
i_SqlTyp[5] = SQL_C_DATE; s_SqlTyp[5] = "SQL_C_DATE";
|
||||
i_SqlTyp[6] = SQL_C_DEFAULT; s_SqlTyp[6] = "SQL_C_DEFAULT";
|
||||
i_SqlTyp[7] = SQL_C_DOUBLE; s_SqlTyp[7] = "SQL_C_DOUBLE";
|
||||
i_SqlTyp[8] = SQL_C_FLOAT; s_SqlTyp[8] = "SQL_C_FLOAT";
|
||||
i_SqlTyp[9] = SQL_C_LONG; s_SqlTyp[9] = "SQL_C_LONG";
|
||||
i_SqlTyp[10] = SQL_C_SHORT; s_SqlTyp[10] = "SQL_C_SHORT";
|
||||
i_SqlTyp[11] = SQL_C_SLONG; s_SqlTyp[11] = "SQL_C_SLONG";
|
||||
i_SqlTyp[12] = SQL_C_SSHORT; s_SqlTyp[12] = "SQL_C_SSHORT";
|
||||
i_SqlTyp[13] = SQL_C_STINYINT; s_SqlTyp[13] = "SQL_C_STINYINT";
|
||||
i_SqlTyp[14] = SQL_C_TIME; s_SqlTyp[14] = "SQL_C_TIME";
|
||||
i_SqlTyp[15] = SQL_C_TIMESTAMP; s_SqlTyp[15] = "SQL_C_TIMESTAMP";
|
||||
i_SqlTyp[16] = SQL_C_TINYINT; s_SqlTyp[16] = "SQL_C_TINYINT";
|
||||
i_SqlTyp[17] = SQL_C_ULONG; s_SqlTyp[17] = "SQL_C_ULONG";
|
||||
i_SqlTyp[18] = SQL_C_USHORT; s_SqlTyp[18] = "SQL_C_USHORT";
|
||||
i_SqlTyp[19] = SQL_C_UTINYINT; s_SqlTyp[19] = "SQL_C_UTINYINT";
|
||||
i_SqlTyp[20] = SQL_VARCHAR; s_SqlTyp[20] = "SQL_VARCHAR";
|
||||
i_SqlTyp[21] = SQL_NUMERIC; s_SqlTyp[21] = "SQL_NUMERIC";
|
||||
i_SqlTyp[22] = SQL_LONGVARCHAR; s_SqlTyp[22] = "SQL_LONGVARCHAR";
|
||||
i_SqlTyp[23] = SQL_REAL; s_SqlTyp[23] = "SQL_REAL";
|
||||
i_SqlTyp[0] = 23; s_SqlTyp[0] = "";
|
||||
i_SqlTyp[1] = SQL_C_BINARY; s_SqlTyp[1] = "SQL_C_BINARY";
|
||||
i_SqlTyp[2] = SQL_C_BIT; s_SqlTyp[2] = "SQL_C_BIT";
|
||||
i_SqlTyp[3] = SQL_C_BOOKMARK; s_SqlTyp[3] = "SQL_C_BOOKMARK";
|
||||
i_SqlTyp[4] = SQL_C_CHAR; s_SqlTyp[4] = "SQL_C_CHAR";
|
||||
i_SqlTyp[5] = SQL_C_DATE; s_SqlTyp[5] = "SQL_C_DATE";
|
||||
i_SqlTyp[6] = SQL_C_DEFAULT; s_SqlTyp[6] = "SQL_C_DEFAULT";
|
||||
i_SqlTyp[7] = SQL_C_DOUBLE; s_SqlTyp[7] = "SQL_C_DOUBLE";
|
||||
i_SqlTyp[8] = SQL_C_FLOAT; s_SqlTyp[8] = "SQL_C_FLOAT";
|
||||
i_SqlTyp[9] = SQL_C_LONG; s_SqlTyp[9] = "SQL_C_LONG";
|
||||
i_SqlTyp[10] = SQL_C_SHORT; s_SqlTyp[10] = "SQL_C_SHORT";
|
||||
i_SqlTyp[11] = SQL_C_SLONG; s_SqlTyp[11] = "SQL_C_SLONG";
|
||||
i_SqlTyp[12] = SQL_C_SSHORT; s_SqlTyp[12] = "SQL_C_SSHORT";
|
||||
i_SqlTyp[13] = SQL_C_STINYINT; s_SqlTyp[13] = "SQL_C_STINYINT";
|
||||
i_SqlTyp[14] = SQL_C_TIME; s_SqlTyp[14] = "SQL_C_TIME";
|
||||
i_SqlTyp[15] = SQL_C_TIMESTAMP; s_SqlTyp[15] = "SQL_C_TIMESTAMP";
|
||||
i_SqlTyp[16] = SQL_C_TINYINT; s_SqlTyp[16] = "SQL_C_TINYINT";
|
||||
i_SqlTyp[17] = SQL_C_ULONG; s_SqlTyp[17] = "SQL_C_ULONG";
|
||||
i_SqlTyp[18] = SQL_C_USHORT; s_SqlTyp[18] = "SQL_C_USHORT";
|
||||
i_SqlTyp[19] = SQL_C_UTINYINT; s_SqlTyp[19] = "SQL_C_UTINYINT";
|
||||
i_SqlTyp[20] = SQL_VARCHAR; s_SqlTyp[20] = "SQL_VARCHAR";
|
||||
i_SqlTyp[21] = SQL_NUMERIC; s_SqlTyp[21] = "SQL_NUMERIC";
|
||||
i_SqlTyp[22] = SQL_LONGVARCHAR; s_SqlTyp[22] = "SQL_LONGVARCHAR";
|
||||
i_SqlTyp[23] = SQL_REAL; s_SqlTyp[23] = "SQL_REAL";
|
||||
i_SqlTyp[0] = 23; s_SqlTyp[0] = "";
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
void BrowserDB::OnFilldbTyp()
|
||||
{
|
||||
i_dbTyp[1] = DB_DATA_TYPE_VARCHAR; s_dbTyp[1] = "DB_DATA_TYPE_VARCHAR";
|
||||
i_dbTyp[2] = DB_DATA_TYPE_INTEGER; s_dbTyp[2] = "DB_DATA_TYPE_INTEGER";
|
||||
i_dbTyp[3] = DB_DATA_TYPE_FLOAT; s_dbTyp[3] = "DB_DATA_TYPE_FLOAT";
|
||||
i_dbTyp[4] = DB_DATA_TYPE_DATE; s_dbTyp[4] = "DB_DATA_TYPE_DATE";
|
||||
i_dbTyp[0] = 4; s_dbTyp[0] = "";
|
||||
i_dbTyp[1] = DB_DATA_TYPE_VARCHAR; s_dbTyp[1] = "DB_DATA_TYPE_VARCHAR";
|
||||
i_dbTyp[2] = DB_DATA_TYPE_INTEGER; s_dbTyp[2] = "DB_DATA_TYPE_INTEGER";
|
||||
i_dbTyp[3] = DB_DATA_TYPE_FLOAT; s_dbTyp[3] = "DB_DATA_TYPE_FLOAT";
|
||||
i_dbTyp[4] = DB_DATA_TYPE_DATE; s_dbTyp[4] = "DB_DATA_TYPE_DATE";
|
||||
i_dbTyp[0] = 4; s_dbTyp[0] = "";
|
||||
}
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user