Added code to show off wxDbGrid (contributed by Paul and Roger Gammans) in wxUSE_NEW_GRID is set to 1. If grid is not enabled, the program does not compile in the wxDbGrid portion of the sample

Fixed a bug in the SetColDef() descriptions that had the Contribs column defined as a UCHAR but the SQL data type was set to be SQL_C_SHORT when it needed to be SQL_C_UTINYINT to match the size of the UCHAR data variable
General code cleanup
TRUE/FALSE changed to true/false
Now uses new wxDbLogExtendedErrorMsg() function for reporting human readable ODBC errors


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
George Tasker
2001-06-10 17:12:56 +00:00
parent fa464e825d
commit f21b2fd89d
4 changed files with 366 additions and 236 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,9 @@ enum DialogModes {mView,mCreate,mEdit,mSearch};
#define FILE_CREATE 100 #define FILE_CREATE 100
#define FILE_RECREATE_TABLE 110 #define FILE_RECREATE_TABLE 110
#define FILE_RECREATE_INDEXES 120 #define FILE_RECREATE_INDEXES 120
#if wxUSE_NEW_GRID
#define FILE_DBGRID_TABLE 130
#endif
#define FILE_EXIT 199 #define FILE_EXIT 199
#define EDIT_PARAMETERS 200 #define EDIT_PARAMETERS 200
#define HELP_ABOUT 300 #define HELP_ABOUT 300
@@ -166,7 +169,10 @@ class DatabaseDemoFrame: public wxFrame
void OnExit(wxCommandEvent& event); void OnExit(wxCommandEvent& event);
void OnEditParameters(wxCommandEvent& event); void OnEditParameters(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event); void OnAbout(wxCommandEvent& event);
#if wxUSE_NEW_GRID
void OnDbGridTable( wxCommandEvent& );
#endif
void CreateDataTable(bool recreate);
void BuildEditorDialog(); void BuildEditorDialog();
void BuildParameterDialog(wxWindow *parent); void BuildParameterDialog(wxWindow *parent);
@@ -174,6 +180,25 @@ DECLARE_EVENT_TABLE()
}; // DatabaseDemoFrame }; // DatabaseDemoFrame
#if wxUSE_NEW_GRID
// *************************** DBGridFrame ***************************
class DbGridFrame : public wxFrame
{
public:
bool initialized;
DbGridFrame(wxWindow *parent);
void OnCloseWindow(wxCloseEvent& event);
bool Initialize();
DECLARE_EVENT_TABLE()
};
#endif
// Define a new application type // Define a new application type
class DatabaseDemoApp: public wxApp class DatabaseDemoApp: public wxApp
{ {

View File

@@ -135,7 +135,7 @@ Clookup::Clookup(wxChar *tblName, wxChar *colName, wxDb *pDb, const wxString &de
defDir) defDir)
{ {
SetColDefs (0, colName, DB_DATA_TYPE_VARCHAR, lookupCol, SQL_C_CHAR, LOOKUP_COL_LEN+1, FALSE, FALSE); SetColDefs (0, colName, DB_DATA_TYPE_VARCHAR, lookupCol, SQL_C_CHAR, LOOKUP_COL_LEN+1, false, false);
} // Clookup() } // Clookup()
@@ -153,10 +153,10 @@ Clookup2::Clookup2(wxChar *tblName, wxChar *colName1, wxChar *colName2,
int i = 0; int i = 0;
SetColDefs (i, colName1, DB_DATA_TYPE_VARCHAR, lookupCol1, SQL_C_CHAR, LOOKUP_COL_LEN+1, FALSE, FALSE); SetColDefs (i, colName1, DB_DATA_TYPE_VARCHAR, lookupCol1, SQL_C_CHAR, LOOKUP_COL_LEN+1, false, false);
if (wxStrlen(colName2) > 0) if (wxStrlen(colName2) > 0)
SetColDefs (++i, colName2, DB_DATA_TYPE_VARCHAR, lookupCol2, SQL_C_CHAR, LOOKUP_COL_LEN+1, FALSE, FALSE); SetColDefs (++i, colName2, DB_DATA_TYPE_VARCHAR, lookupCol2, SQL_C_CHAR, LOOKUP_COL_LEN+1, false, false);
} // Clookup2() } // Clookup2()
@@ -177,7 +177,7 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
wxBeginBusyCursor(); wxBeginBusyCursor();
wxStrcpy(ListDB_Selection,wxT("")); wxStrcpy(ListDB_Selection,wxT(""));
widgetPtrsSet = FALSE; widgetPtrsSet = false;
lookup = 0; lookup = 0;
lookup2 = 0; lookup2 = 0;
noDisplayCols = 1; noDisplayCols = 1;
@@ -187,7 +187,7 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
pLookUpOkBtn = new wxButton(this, LOOKUP_DIALOG_OK, wxT("&Ok"), wxPoint(113, 222), wxSize( 70, 35), 0, wxDefaultValidator, wxT("LookUpOkBtn")); pLookUpOkBtn = new wxButton(this, LOOKUP_DIALOG_OK, wxT("&Ok"), wxPoint(113, 222), wxSize( 70, 35), 0, wxDefaultValidator, wxT("LookUpOkBtn"));
pLookUpCancelBtn = new wxButton(this, LOOKUP_DIALOG_CANCEL, wxT("C&ancel"), wxPoint(212, 222), wxSize( 70, 35), 0, wxDefaultValidator, wxT("LookUpCancelBtn")); pLookUpCancelBtn = new wxButton(this, LOOKUP_DIALOG_CANCEL, wxT("C&ancel"), wxPoint(212, 222), wxSize( 70, 35), 0, wxDefaultValidator, wxT("LookUpCancelBtn"));
widgetPtrsSet = TRUE; widgetPtrsSet = true;
// Query the lookup table and display the result set // Query the lookup table and display the result set
lookup = new Clookup(tableName, colName, pDb, defDir); lookup = new Clookup(tableName, colName, pDb, defDir);
@@ -229,7 +229,7 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
else else
{ {
pLookUpCancelBtn->SetDefault(); pLookUpCancelBtn->SetDefault();
pLookUpOkBtn->Enable(FALSE); pLookUpOkBtn->Enable(false);
} }
// Display the dialog window // Display the dialog window
@@ -275,7 +275,7 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
wxStrcpy(ListDB_Selection,wxT("")); wxStrcpy(ListDB_Selection,wxT(""));
wxStrcpy(ListDB_Selection2,wxT("")); wxStrcpy(ListDB_Selection2,wxT(""));
widgetPtrsSet = FALSE; widgetPtrsSet = false;
lookup = 0; lookup = 0;
lookup2 = 0; lookup2 = 0;
noDisplayCols = (wxStrlen(dispCol2) ? 2 : 1); noDisplayCols = (wxStrlen(dispCol2) ? 2 : 1);
@@ -292,7 +292,7 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
pLookUpOkBtn = new wxButton(this, LOOKUP_DIALOG_OK, wxT("&Ok"), wxPoint(113, 222), wxSize(70, 35), 0, wxDefaultValidator, wxT("LookUpOkBtn")); pLookUpOkBtn = new wxButton(this, LOOKUP_DIALOG_OK, wxT("&Ok"), wxPoint(113, 222), wxSize(70, 35), 0, wxDefaultValidator, wxT("LookUpOkBtn"));
pLookUpCancelBtn = new wxButton(this, LOOKUP_DIALOG_CANCEL, wxT("C&ancel"), wxPoint(212, 222), wxSize(70, 35), 0, wxDefaultValidator, wxT("LookUpCancelBtn")); pLookUpCancelBtn = new wxButton(this, LOOKUP_DIALOG_CANCEL, wxT("C&ancel"), wxPoint(212, 222), wxSize(70, 35), 0, wxDefaultValidator, wxT("LookUpCancelBtn"));
widgetPtrsSet = TRUE; widgetPtrsSet = true;
// Query the lookup table and display the result set // Query the lookup table and display the result set
lookup2 = new Clookup2(tableName, dispCol1, dispCol2, pDb, defDir); lookup2 = new Clookup2(tableName, dispCol1, dispCol2, pDb, defDir);
@@ -359,7 +359,7 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
{ {
lookup2->SetOrderByClause(orderBy); lookup2->SetOrderByClause(orderBy);
lookup2->SetWhereClause(where); lookup2->SetWhereClause(where);
if (!lookup2->Query(FALSE, distinctValues)) if (!lookup2->Query(false, distinctValues))
{ {
wxMessageBox(wxT("ODBC error during Query()"),wxT("ODBC Error...")); wxMessageBox(wxT("ODBC error during Query()"),wxT("ODBC Error..."));
Close(); Close();
@@ -389,7 +389,7 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
else else
{ {
pLookUpCancelBtn->SetDefault(); pLookUpCancelBtn->SetDefault();
pLookUpOkBtn->Enable(FALSE); pLookUpOkBtn->Enable(false);
} }
pLookUpOkBtn->Enable(allowOk); pLookUpOkBtn->Enable(allowOk);
@@ -405,8 +405,8 @@ ClookUpDlg::ClookUpDlg(wxWindow *parent, wxChar *windowTitle, wxChar *tableName,
void ClookUpDlg::OnClose(wxCloseEvent& event) void ClookUpDlg::OnClose(wxCloseEvent& event)
{ {
widgetPtrsSet = FALSE; widgetPtrsSet = false;
GetParent()->Enable(TRUE); GetParent()->Enable(true);
if (lookup) if (lookup)
delete lookup; delete lookup;
@@ -418,7 +418,7 @@ void ClookUpDlg::OnClose(wxCloseEvent& event)
while (wxIsBusy()) wxEndBusyCursor(); while (wxIsBusy()) wxEndBusyCursor();
event.Skip(); event.Skip();
// return TRUE; // return true;
} // ClookUpDlg::OnClose } // ClookUpDlg::OnClose

View File

@@ -113,7 +113,7 @@ class ClookUpDlg : public wxDialog
bool distinctValues, // e.g. SELECT DISTINCT ... bool distinctValues, // e.g. SELECT DISTINCT ...
wxChar *selectStmt = 0, // If you wish to query by SQLstmt (complicated lookups) wxChar *selectStmt = 0, // If you wish to query by SQLstmt (complicated lookups)
int maxLenCol1 = 0, // Mandatory if querying by SQLstmt int maxLenCol1 = 0, // Mandatory if querying by SQLstmt
bool allowOk = TRUE); // is the OK button enabled bool allowOk = true); // is the OK button enabled
void OnButton( wxCommandEvent &event ); void OnButton( wxCommandEvent &event );
void OnCommand(wxWindow& win, wxCommandEvent& event); void OnCommand(wxWindow& win, wxCommandEvent& event);