X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/829c421b9338a843db6a49177e12dc88ff7db8c3..db23ced86782a4323272cea8bd499d2e4aeabfce:/demos/dbbrowse/browsedb.cpp diff --git a/demos/dbbrowse/browsedb.cpp b/demos/dbbrowse/browsedb.cpp index b8b20b7a7d..c316d4c711 100644 --- a/demos/dbbrowse/browsedb.cpp +++ b/demos/dbbrowse/browsedb.cpp @@ -1,22 +1,14 @@ //---------------------------------------------------------------------------------------- -// Name: BrowserDB.h,cpp -// Purpose: a wxDB class -// Author: Mark Johnson +// Name: BrowserDB.h,cpp +// Purpose: a wxDB class +// Author: Mark Johnson // Modified by: -// Created: 19991127.mj10777 -// Copyright: (c) Mark Johnson -// Licence: wxWindows license -// RCS-ID: $Id$ -//---------------------------------------------------------------------------------------- -//-- 1) -//---------------------------------------------------------------------------------------- -//-- all #ifdefs that the whole Project needs. ------------------------------------------- -//---------------------------------------------------------------------------------------- -#ifdef __GNUG__ -#pragma implementation -#pragma interface -#endif +// Created: 19991127.mj10777 +// Copyright: (c) Mark Johnson +// Licence: wxWindows license +// RCS-ID: $Id$ //---------------------------------------------------------------------------------------- + // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" //---------------------------------------------------------------------------------------- @@ -31,30 +23,33 @@ #include "std.h" //---------------------------------------------------------------------------------------- // Global structure for holding ODBC connection information -// - darf nur einmal im Projekte definiert werden ?? Extra Databasse Klasse ? -wxDbConnectInf DbConnectInf; // Für DBase +wxDbConnectInf DbConnectInf; + +#if !wxUSE_ODBC + #error Demo cannot be compiled unless setup.h has wxUSE_ODBC set to 1 +#endif //---------------------------------------------------------------------------------------- -extern WXDLLEXPORT_DATA(wxDbList*) PtrBegDbList; /* from db.cpp, used in getting back error results from db connections */ +extern WXDLLEXPORT_DATA(wxDbList*) PtrBegDbList; /* from db.cpp, used in getting back error results from db connections */ //---------------------------------------------------------------------------------------- -char *GetExtendedDBErrorMsg(char *ErrFile, int ErrLine) +wxChar *GetExtendedDBErrorMsg(wxChar *ErrFile, int ErrLine) { static wxString msg; wxString tStr; if (ErrFile || ErrLine) { - msg += "File: "; + msg += _T("File: "); msg += ErrFile; - msg += " Line: "; - tStr.Printf("%d",ErrLine); + msg += _T(" Line: "); + tStr.Printf(_T("%d"),ErrLine); msg += tStr.GetData(); - // msg += "\n"; + // msg += _T("\n"); } - msg.Append ("\nODBC errors:\n"); - // msg += "\n"; + msg.Append (_T("\nODBC errors:\n")); + // msg += _T("\n"); /* Scan through each database connection displaying - * any ODBC errors that have occured. */ + * any ODBC errors that have occurred. */ wxDbList *pDbList; for (pDbList = PtrBegDbList; pDbList; pDbList = pDbList->PtrNext) { @@ -67,22 +62,22 @@ char *GetExtendedDBErrorMsg(char *ErrFile, int ErrLine) if (pDbList->PtrDb->errorList[i]) { msg.Append(pDbList->PtrDb->errorList[i]); - if (strcmp(pDbList->PtrDb->errorList[i],"") != 0) - msg.Append("\n"); + if (wxStrcmp(pDbList->PtrDb->errorList[i],wxEmptyString) != 0) + msg.Append(_T("\n")); } } } - msg += "\n"; - return (char*) (const char*) msg; + msg += _T("\n"); + return (wxChar*) (const wxChar*) msg; } // GetExtendedDBErrorMsg //---------------------------------------------------------------------------------------- BrowserDB::BrowserDB() { PointerToNULL(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 + ODBCSource = wxEmptyString; // ODBC data source name (created with ODBC Administrator under Win95/NT) + UserName = wxEmptyString; // database username - must already exist in the data source + Password = wxEmptyString; // password database username OnFillSqlTyp(); OnFilldbTyp(); } // BrowserDB Constructor @@ -99,9 +94,9 @@ bool BrowserDB::Initialize(int Quiet) if (!OnStartDB(Quiet)) { wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str()); - return FALSE; + return false; } - return TRUE; + return true; } // BrowserDB:Initialize //---------------------------------------------------------------------------------------- @@ -114,7 +109,7 @@ bool BrowserDB::OnStartDB(int Quiet) { if (!Quiet) wxLogMessage(_("\n-I-> BrowserDB::OnStartDB() : DB is already open.")); - return TRUE; + return true; } DbConnectInf.AllocHenv(); @@ -123,43 +118,43 @@ bool BrowserDB::OnStartDB(int Quiet) // Connect to datasource //--------------------------------------------------------------------------------------- DlgUser *p_Dlg; - p_Dlg = new DlgUser(pDoc->p_MainFrame,pDoc,""); - p_Dlg->s_DSN = ODBCSource; - p_Dlg->s_User = UserName; + p_Dlg = new DlgUser(pDoc->p_MainFrame,pDoc,wxEmptyString); + p_Dlg->s_DSN = ODBCSource; + p_Dlg->s_User = UserName; p_Dlg->s_Password = Password; p_Dlg->OnInit(); p_Dlg->Fit(); - - bool OK = 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; + OK = true; } delete p_Dlg; if (OK) { //-------------------------------------------------------------------------------------- - DbConnectInf.SetDsn(ODBCSource); // ODBC data source name (created with ODBC Administrator under Win95/NT) - DbConnectInf.SetUserID(UserName); // database username - must already exist in the data source - DbConnectInf.SetPassword(Password); // password database username + DbConnectInf.SetDsn(ODBCSource); // ODBC data source name (created with ODBC Administrator under Win95/NT) + DbConnectInf.SetUserID(UserName); // database username - must already exist in the data source + DbConnectInf.SetPassword(Password); // password database username db_BrowserDB = wxDbGetConnection(&DbConnectInf); // wxLogMessage(">>>%s<<<>>>%s<<<",UserName.c_str(),Password.c_str()); if (db_BrowserDB == NULL) { - DbConnectInf.SetDsn(wxT("")); - DbConnectInf.SetUserID(wxT("")); - DbConnectInf.SetPassword(wxT("")); + DbConnectInf.SetDsn(wxEmptyString); + DbConnectInf.SetUserID(wxEmptyString); + DbConnectInf.SetPassword(wxEmptyString); if (!Quiet) { 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 - Time needed : %ld ms"),ODBCSource.c_str(),sw.Time()); } DbConnectInf.FreeHenv(); - return FALSE; + return false; } //-------------------------------------------------------------------------------------- if (!Quiet) @@ -169,12 +164,12 @@ bool BrowserDB::OnStartDB(int Quiet) wxLogMessage(_("-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"),Temp1.c_str(),Temp2.c_str()); wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End - Time needed : %ld ms"),ODBCSource.c_str(),sw.Time()); } - return TRUE; + return true; } else { DbConnectInf.FreeHenv(); - return FALSE; + return false; } } @@ -194,122 +189,132 @@ bool BrowserDB::OnCloseDB(int Quiet) } if (!Quiet) wxLogMessage(_("\n-I-> BrowserDB::OnCloseDB() : End ")); - return TRUE; + return true; } //---------------------------------------------------------------------------------------- -bool BrowserDB::OnGetNext(int Cols,int Quiet) +bool BrowserDB::OnGetNext(int Cols,int WXUNUSED(Quiet)) { SDWORD cb; - int i_dbDataType; - int i=0; - char s_temp[1024+1]; - long l_temp; - double f_temp; - int AnzError=0; + int i_dbDataType; + wxChar 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; +#ifdef __WXDEBUG__ Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n-E-> ")); - Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__LINE__); wxLogMessage(Temp0); wxMessageBox(Temp0); +#endif + return false; } else { + int i; for (i=0;itableName,"-E->"); - i_dbDataType = (cl_BrowserDB->pColFor+i)->i_dbDataType; - if (i_dbDataType == 0) // Filter unsupported dbDataTypes + wxStrcpy((cl_BrowserDB+i)->tableName,_T("-E->")); + i_dbDataType = (cl_BrowserDB+i)->pColFor->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)) + if (((cl_BrowserDB+i)->pColFor->i_sqlDataType == SQL_VARCHAR) || + ((cl_BrowserDB+i)->pColFor->i_sqlDataType == SQL_LONGVARCHAR)) i_dbDataType = DB_DATA_TYPE_VARCHAR; - if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DATE) + if ((cl_BrowserDB+i)->pColFor->i_sqlDataType == SQL_C_DATE) i_dbDataType = DB_DATA_TYPE_DATE; - if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_BIT) + if ((cl_BrowserDB+i)->pColFor->i_sqlDataType == SQL_C_BIT) i_dbDataType = DB_DATA_TYPE_INTEGER; - if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_NUMERIC) + if ((cl_BrowserDB+i)->pColFor->i_sqlDataType == SQL_NUMERIC) i_dbDataType = DB_DATA_TYPE_VARCHAR; - if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_REAL) + if ((cl_BrowserDB+i)->pColFor->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 + if ((i_dbDataType == DB_DATA_TYPE_INTEGER) && + ((cl_BrowserDB+i)->pColFor->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)) + wxStrcpy(s_temp,wxEmptyString); + if (!db_BrowserDB->GetData((UWORD)(i+1),(SWORD)((cl_BrowserDB+i)->pColFor->i_dbDataType),&s_temp[0],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__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__LINE__); wxLogMessage(Temp0); } - Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,s_temp); - strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str()); + Temp0.Printf((cl_BrowserDB+i)->pColFor->s_Field,s_temp); + wxStrcpy((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)) + if (!db_BrowserDB->GetData((UWORD)(i+1),(SWORD)((cl_BrowserDB+i)->pColFor->i_sqlDataType),&l_temp,sizeof(l_temp), &cb)) { Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> ")); - Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__LINE__); } else { - Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,l_temp); - strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str()); + Temp0.Printf((cl_BrowserDB+i)->pColFor->s_Field,l_temp); + wxStrcpy((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)) + if (!db_BrowserDB->GetData((UWORD)(i+1),(SWORD)((cl_BrowserDB+i)->pColFor->i_sqlDataType),&f_temp,sizeof(f_temp), &cb)) { Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> ")); - Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__LINE__); wxMessageBox(Temp0); } else { - Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,f_temp); - strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str()); + Temp0.Printf((cl_BrowserDB+i)->pColFor->s_Field,f_temp); + wxStrcpy((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)) + t_temp.day = 0; + t_temp.month = 0; + t_temp.year = 0; + t_temp.hour = 0; + t_temp.minute = 0; + t_temp.second = 0; + t_temp.fraction = 0; + if (!db_BrowserDB->GetData((UWORD)(i+1),(SWORD)((cl_BrowserDB+i)->pColFor->i_sqlDataType),&t_temp,sizeof(t_temp), &cb)) { Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> ")); - Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__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 + if (((cl_BrowserDB+i)->pColFor->i_Nation == 0) || // TS YYYY-MM-DD + ((cl_BrowserDB+i)->pColFor->i_Nation == 3)) // IT YYYY-MM-DD { - Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.year,t_temp.month,t_temp.day, + Temp0.Printf((cl_BrowserDB+i)->pColFor->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()); + wxStrcpy((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 + if (((cl_BrowserDB+i)->pColFor->i_Nation == 1) || // EU DD.MM.YYYY + ((cl_BrowserDB+i)->pColFor->i_Nation == 2)) // UK DD/MM/YYYY { - Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.day,t_temp.month,t_temp.year, + Temp0.Printf((cl_BrowserDB+i)->pColFor->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()); + wxStrcpy((cl_BrowserDB+i)->tableName,Temp0.c_str()); } - if ((cl_BrowserDB->pColFor+i)->i_Nation == 3) // US MM/DD/YYYY + if ((cl_BrowserDB+i)->pColFor->i_Nation == 3) // US MM/DD/YYYY { - Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.month,t_temp.day,t_temp.year, + Temp0.Printf((cl_BrowserDB+i)->pColFor->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()); + wxStrcpy((cl_BrowserDB+i)->tableName,Temp0.c_str()); } } break; @@ -318,18 +323,18 @@ bool BrowserDB::OnGetNext(int Cols,int Quiet) 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()); + wxLogMessage(_("-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"),(cl_BrowserDB+i)->pColFor->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()); + return true; + Temp0.Printf(_("-E-> unknown Format(%d) - sql(%d)"),(cl_BrowserDB+i)->pColFor->i_dbDataType,(cl_BrowserDB+i)->pColFor->i_sqlDataType); + wxStrcpy((cl_BrowserDB+i)->tableName,Temp0.c_str()); break; }; // switch } // for } // else - return TRUE; + return true; } //---------------------------------------------------------------------------------------- @@ -339,14 +344,15 @@ bool BrowserDB::OnSelect(wxString tb_Name, int Quiet) wxString SQLStmt; i_Records = 0; //--------------------------------------------------------------------------------------- - SQLStmt.sprintf("SELECT * FROM %s",tb_Name.c_str()); - if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData()))) + wxString tablename = db_BrowserDB->SQLTableName(tb_Name.c_str()); + SQLStmt.sprintf(_T("SELECT * FROM %s"),tablename.c_str()); + if (!db_BrowserDB->ExecSql((wxChar *)(SQLStmt.GetData()))) { Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str()); - Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__LINE__); wxLogMessage(Temp0); - wxMessageBox("-E-> BrowserDB::OnSelect - GetData()"); - return FALSE; + wxMessageBox(_T("-E-> BrowserDB::OnSelect - GetData()")); + return false; } //--------------------------------------------------------------------------------------- while (db_BrowserDB->GetNext()) @@ -354,65 +360,71 @@ bool BrowserDB::OnSelect(wxString tb_Name, int Quiet) i_Records++; } //--------------------------------------------------------------------------------------- - if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData()))) + if (!db_BrowserDB->ExecSql((wxChar *)(SQLStmt.GetData()))) { Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str()); - Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__LINE__); wxLogMessage(Temp0); - return FALSE; + return false; } //--------------------------------------------------------------------------------------- - // SetColDefs ( 0,"NAME", DB_DATA_TYPE_VARCHAR, Name, SQL_C_CHAR, sizeof(Name), TRUE, TRUE); // Primary index + // SetColDefs ( 0, "NAME", DB_DATA_TYPE_VARCHAR, Name, SQL_C_WXCHAR, sizeof(Name), true, true); // Primary index //--------------------------------------------------------------------------------------- if (!Quiet) { wxLogMessage(_("\n-I-> BrowserDB::OnSelect(%s) Records(%d): End - Time needed : %ld ms"),tb_Name.c_str(),i_Records,sw.Time()); } - return TRUE; + return true; } //---------------------------------------------------------------------------------------- bool BrowserDB::OnExecSql(wxString SQLStmt, int Quiet) { //--------------------------------------------------------------------------------------- - if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData()))) + if (!db_BrowserDB->ExecSql((wxChar *)(SQLStmt.GetData()))) { Temp0.Printf(_("\n-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n-E-> "),SQLStmt.c_str()); - Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__); + Temp0 += GetExtendedDBErrorMsg(__TFILE__,__LINE__); if (!Quiet) wxLogMessage(Temp0); else - wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()"); - return FALSE; + wxMessageBox(_T("-E-> BrowserDB::OnExecSql - ExecSql()")); + return false; } if (!Quiet) { // wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End - Time needed : %ld ms"),SQLStmt.c_str(),sw.Time()); } - return TRUE; + return true; } //---------------------------------------------------------------------------------------- -wxDbInf* BrowserDB::OnGetCatalog(int Quiet) +wxDbInf* BrowserDB::OnGetCatalog(int WXUNUSED(Quiet)) { - char UName[255]; - strcpy(UName,UserName); + wxChar UName[255]; + wxStrcpy(UName,UserName); ct_BrowserDB = db_BrowserDB->GetCatalog(UName); return ct_BrowserDB; } //---------------------------------------------------------------------------------------- -wxDbColInf* BrowserDB::OnGetColumns(char *tableName, int numCols, int Quiet) +wxDbColInf* BrowserDB::OnGetColumns(wxChar *tableName, UWORD numCols, int WXUNUSED(Quiet)) { - char UName[255]; + wxChar UName[255]; int i; - strcpy(UName,UserName); + wxStrcpy(UName,UserName); cl_BrowserDB = db_BrowserDB->GetColumns(tableName,&numCols,UName); - cl_BrowserDB->pColFor = new wxDbColFor[numCols]; +// cl_BrowserDB->pColFor = new wxDbColFor[numCols]; for (i=0;ipColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType, - (cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits); +// (cl_BrowserDB->pColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType, +// (cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits); + (cl_BrowserDB+i)->pColFor = new wxDbColFor; + (cl_BrowserDB+i)->pColFor->Format(1, + (cl_BrowserDB+i)->dbDataType, + (cl_BrowserDB+i)->sqlDataType, + (cl_BrowserDB+i)->columnLength, + (cl_BrowserDB+i)->decimalDigits); } return cl_BrowserDB; } @@ -438,48 +450,48 @@ void BrowserDB::PointerToNULL(int Art) delete db_BrowserDB; } } - cl_BrowserDB = NULL; - ct_BrowserDB = NULL; - db_BrowserDB = NULL; - p_LogWindow = NULL; + 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] = _T("SQL_C_BINARY"); + i_SqlTyp[2] = SQL_C_BIT; s_SqlTyp[2] = _T("SQL_C_BIT"); + i_SqlTyp[3] = SQL_C_BOOKMARK; s_SqlTyp[3] = _T("SQL_C_BOOKMARK"); + i_SqlTyp[4] = SQL_C_WXCHAR; s_SqlTyp[4] = _T("SQL_C_WXCHAR"); + i_SqlTyp[5] = SQL_C_DATE; s_SqlTyp[5] = _T("SQL_C_DATE"); + i_SqlTyp[6] = SQL_C_DEFAULT; s_SqlTyp[6] = _T("SQL_C_DEFAULT"); + i_SqlTyp[7] = SQL_C_DOUBLE; s_SqlTyp[7] = _T("SQL_C_DOUBLE"); + i_SqlTyp[8] = SQL_C_FLOAT; s_SqlTyp[8] = _T("SQL_C_FLOAT"); + i_SqlTyp[9] = SQL_C_LONG; s_SqlTyp[9] = _T("SQL_C_LONG"); + i_SqlTyp[10] = SQL_C_SHORT; s_SqlTyp[10] = _T("SQL_C_SHORT"); + i_SqlTyp[11] = SQL_C_SLONG; s_SqlTyp[11] = _T("SQL_C_SLONG"); + i_SqlTyp[12] = SQL_C_SSHORT; s_SqlTyp[12] = _T("SQL_C_SSHORT"); + i_SqlTyp[13] = SQL_C_STINYINT; s_SqlTyp[13] = _T("SQL_C_STINYINT"); + i_SqlTyp[14] = SQL_C_TIME; s_SqlTyp[14] = _T("SQL_C_TIME"); + i_SqlTyp[15] = SQL_C_TIMESTAMP; s_SqlTyp[15] = _T("SQL_C_TIMESTAMP"); + i_SqlTyp[16] = SQL_C_TINYINT; s_SqlTyp[16] = _T("SQL_C_TINYINT"); + i_SqlTyp[17] = SQL_C_ULONG; s_SqlTyp[17] = _T("SQL_C_ULONG"); + i_SqlTyp[18] = SQL_C_USHORT; s_SqlTyp[18] = _T("SQL_C_USHORT"); + i_SqlTyp[19] = SQL_C_UTINYINT; s_SqlTyp[19] = _T("SQL_C_UTINYINT"); + i_SqlTyp[20] = SQL_VARCHAR; s_SqlTyp[20] = _T("SQL_VARCHAR"); + i_SqlTyp[21] = SQL_NUMERIC; s_SqlTyp[21] = _T("SQL_NUMERIC"); + i_SqlTyp[22] = SQL_LONGVARCHAR; s_SqlTyp[22] = _T("SQL_LONGVARCHAR"); + i_SqlTyp[23] = SQL_REAL; s_SqlTyp[23] = _T("SQL_REAL"); + i_SqlTyp[0] = 23; s_SqlTyp[0] = wxEmptyString; } //---------------------------------------------------------------------------------------- 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] = _T("DB_DATA_TYPE_VARCHAR"); + i_dbTyp[2] = DB_DATA_TYPE_INTEGER; s_dbTyp[2] = _T("DB_DATA_TYPE_INTEGER"); + i_dbTyp[3] = DB_DATA_TYPE_FLOAT; s_dbTyp[3] = _T("DB_DATA_TYPE_FLOAT"); + i_dbTyp[4] = DB_DATA_TYPE_DATE; s_dbTyp[4] = _T("DB_DATA_TYPE_DATE"); + i_dbTyp[0] = 4; s_dbTyp[0] = wxEmptyString; } //----------------------------------------------------------------------------------------