📄 bdetestdlg.cpp
字号:
} // end if Not in edit mode
} // end if DB is active
} // end if table is not empty
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
}
UpdateData(FALSE);
}
}
// Connect to paradox tables
void CBdeTestDlg::OnConnect()
{
try
{
if (m_pBdeDb->OpenDatabase(m_strAppPath + "Test.DB"))
AfxMessageBox("Opened Database");
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
m_bParadox = TRUE;
UpdateDialogData(FALSE);
EnableControls();
}
// Connect to dBase tables
void CBdeTestDlg::OnConnectDbase()
{
try
{
if (m_pBdeDb->OpenDatabase(m_strAppPath + "Test.DBF"))
AfxMessageBox("Opened Database");
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
m_bParadox = FALSE;
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnDisconnect()
{
if (m_pBdeDb->CloseDatabase())
AfxMessageBox("Closed Database");
EnableControls();
}
void CBdeTestDlg::OnFirst()
{
try
{
m_pBdeDb->MoveFirst();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnPrior()
{
try
{
m_pBdeDb->MovePrior();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnNext()
{
try
{
m_pBdeDb->MoveNext();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnLast()
{
try
{
m_pBdeDb->MoveLast();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnDelete()
{
try
{
m_pBdeDb->DeleteRecord();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
UpdateDialogData(FALSE);
EnableControls();
}
//////////////////////////////////////////////////////////////////////////////
// Editing buttons commands
void CBdeTestDlg::OnCancelEdit()
{
try
{
m_pBdeDb->Cancel();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
}
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnEdit()
{
try
{
m_pBdeDb->Edit();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
}
EnableControls();
}
void CBdeTestDlg::OnAppend()
{
try
{
m_pBdeDb->Append();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
}
m_strBcd = _T("");
m_strChar = _T("");
m_strCurrency = _T("");
m_strDate = _T("");
m_strFloat = _T("");
m_strLogical = _T("");
m_strLong = _T("");
m_strMemo = _T("");
m_strShort = _T("");
m_strTime = _T("");
m_strTimeStamp = _T("");
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnInsert()
{
try
{
m_pBdeDb->Insert();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
return;
}
m_strBcd = _T("");
m_strChar = _T("");
m_strCurrency = _T("");
m_strDate = _T("");
m_strFloat = _T("");
m_strLogical = _T("");
m_strLong = _T("");
m_strMemo = _T("");
m_strShort = _T("");
m_strTime = _T("");
m_strTimeStamp = _T("");
UpdateDialogData(FALSE);
EnableControls();
}
void CBdeTestDlg::OnPost()
{
UpdateDialogData(TRUE);
EnableControls();
}
void CBdeTestDlg::EnableControls()
{
GetDlgItem(IDB_TEST_CONNECTION)->EnableWindow(CBdeDatabase::EnableOpen(m_pBdeDb));
GetDlgItem(IDB_EDIT)->EnableWindow(CBdeDatabase::EnableEdit(m_pBdeDb));
GetDlgItem(IDB_APPEND)->EnableWindow(CBdeDatabase::EnableAppend(m_pBdeDb));
GetDlgItem(IDB_CONNECT)->EnableWindow(CBdeDatabase::EnableOpen(m_pBdeDb));
GetDlgItem(IDB_DISCONNECT)->EnableWindow(CBdeDatabase::EnableClose(m_pBdeDb));
GetDlgItem(IDB_FIRST)->EnableWindow(CBdeDatabase::EnableFirst(m_pBdeDb));
GetDlgItem(IDB_PRIOR)->EnableWindow(CBdeDatabase::EnablePrior(m_pBdeDb));
GetDlgItem(IDB_NEXT)->EnableWindow(CBdeDatabase::EnableNext(m_pBdeDb));
GetDlgItem(IDB_LAST)->EnableWindow(CBdeDatabase::EnableLast(m_pBdeDb));
GetDlgItem(IDB_DELETE)->EnableWindow(CBdeDatabase::EnableDelete(m_pBdeDb));
GetDlgItem(IDB_INSERT)->EnableWindow(CBdeDatabase::EnableInsert(m_pBdeDb));
GetDlgItem(IDB_POST)->EnableWindow(CBdeDatabase::EnablePost(m_pBdeDb));
GetDlgItem(IDB_SET_TYPE_VALUES)->EnableWindow(CBdeDatabase::EnablePost(m_pBdeDb));
GetDlgItem(IDB_SET_BLANK)->EnableWindow(CBdeDatabase::EnablePost(m_pBdeDb));
GetDlgItem(IDB_CANCEL_EDIT)->EnableWindow(CBdeDatabase::EnableCancel(m_pBdeDb));
((CEdit*)GetDlgItem(ET_BCD))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_CHAR))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_CURRENCY))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_DATE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_FLOAT))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_LOGICAL))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_LONG))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_MEMO))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_SHORT))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_TIME))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_TIMESTAMP))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_BCD_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_CURRENCY_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_DATE_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_FLOAT_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(CB_LOGICAL_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_LONG_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_SHORT_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_TIME_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
((CEdit*)GetDlgItem(ET_TIMESTAMP_TYPE))->SetReadOnly(!CBdeDatabase::EnablePost(m_pBdeDb));
}
void CBdeTestDlg::OnSetBlank()
{
try
{
m_pBdeDb->SetFieldAsString(1, "blank", TRUE);
m_pBdeDb->SetFieldAsInteger(2, 100, TRUE);
m_pBdeDb->SetFieldAsInteger(3, 100, TRUE);
m_pBdeDb->SetFieldAsFloat(4, 3.14158, TRUE);
m_pBdeDb->SetFieldAsFloat(5, 3.14158, TRUE);
m_pBdeDb->SetFieldAsBoolean(6, TRUE, TRUE);
m_pBdeDb->SetFieldAsDate(7, COleDateTime::GetCurrentTime(), TRUE);
m_pBdeDb->SetFieldAsDate(8, COleDateTime::GetCurrentTime(), TRUE);
m_pBdeDb->SetFieldAsDate(9, COleDateTime::GetCurrentTime(), TRUE);
m_pBdeDb->SetFieldAsString(10, "blank memo", TRUE);
m_pBdeDb->Post();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
}
EnableControls();
UpdateDialogData(FALSE);
}
void CBdeTestDlg::OnSetTypeValues()
{
try
{
m_pBdeDb->SetFieldAsString(1, "blank2", FALSE);
m_pBdeDb->SetFieldAsInteger(2, 100, FALSE);
m_pBdeDb->SetFieldAsInteger(3, 100, FALSE);
m_pBdeDb->SetFieldAsFloat(4, 3.14158, FALSE);
m_pBdeDb->SetFieldAsFloat(5, 3.14158, FALSE);
m_pBdeDb->SetFieldAsBoolean(6, TRUE, FALSE);
m_pBdeDb->SetFieldAsDate(7, COleDateTime::GetCurrentTime(), FALSE);
m_pBdeDb->SetFieldAsDate(8, COleDateTime::GetCurrentTime(), FALSE);
m_pBdeDb->SetFieldAsDate(9, COleDateTime::GetCurrentTime(), FALSE);
m_pBdeDb->SetFieldAsString(10, "blank memo", FALSE);
m_pBdeDb->Post();
}
catch (CBdeException* e)
{
e->ReportError();
e->Delete();
}
EnableControls();
UpdateDialogData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -