📄 frmmutiread.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "frmMutiRead.h"
#include "h_oracle.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "cxClasses"
#pragma link "cxControls"
#pragma link "cxCustomData"
#pragma link "cxData"
#pragma link "cxDataStorage"
#pragma link "cxDBData"
#pragma link "cxEdit"
#pragma link "cxFilter"
#pragma link "cxGraphics"
#pragma link "cxGrid"
#pragma link "cxGridBandedTableView"
#pragma link "cxGridCustomTableView"
#pragma link "cxGridCustomView"
#pragma link "cxGridDBBandedTableView"
#pragma link "cxGridDBTableView"
#pragma link "cxGridLevel"
#pragma link "cxGridTableView"
#pragma link "cxStyles"
#pragma link "cxContainer"
#pragma link "cxGroupBox"
#pragma link "dxmdaset"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Connected = false;
m_DBName = "lgjora9i_21";
m_DBUser = "sys";
m_DBPwd = "sys";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//HOracle Oracle;
AnsiString FErrorString, asMsg;
lbCon->Caption = "正在连接数据库...";
if( !Oracle.Connect(m_DBName, m_DBUser, m_DBPwd, true) )
{
asMsg = AnsiString("数据库 " + m_DBName + " 连接失败!");
lbCon->Caption = asMsg;
Connected = false;
return;
}
asMsg = AnsiString("数据库 " + m_DBName + " 连接成功!");
lbCon->Caption = asMsg;
Button1->Enabled = false;
Button2->Enabled = true;
Connected = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (!Connected)
return;
TableList.clear();
Oracle.GetTableInfoList(TableList, m_DBName);
grdTable->DataController->DataSource = NULL;
grdTable->OptionsView->NoDataToDisplayInfoText = "正在读取表信息...";
tbTable1->Close();
tbTable1->Open();
for (unsigned int i = 0; i < TableList.size(); i++)
{
tbTable1->Append();
tbTable1tbName->Value = TableList[i].TableName;
tbTable1tbOwner->Value = TableList[i].TableOwner;
tbTable1tbSpace->Value = TableList[i].TableSpace;
tbTable1->Post();
//GetColInfo(TableList[i].TableName, TableList[i].TableOwner);
}
tbTable1->First();
grdTable->DataController->DataSource = dsTable;
Button2->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::GetColInfo(AnsiString tbName, AnsiString tbOwner)
{
TableCols.clear();
Oracle.GetTableCol(tbName, tbOwner, TableCols);
//Oracle.GetTableDataInfo(tbName, tbOwner, TableData);
//grdCols->DataController->DataSource = NULL;
//grdCols->OptionsView->NoDataToDisplayInfoText = "正在读取字段信息...";
tbCols->Close();
tbCols->Open();
//ProgressBar1->Position = 0;
//ProgressBar1->Min = 0;
//ProgressBar1->Max = tbCols1->RecordCount;
for (unsigned int i = 0; i < TableCols.size(); i++)
{
tbCols->Append();
tbColscolName->Value = TableCols[i].ColumnName;
tbColscolType->Value = TableCols[i].DataType;
tbColscolLen->Value = TableCols[i].DataLength;
//tbCols1col4->Value = TableData[i].col4;
tbCols->Post();
//ProgressBar1->Position++;
}
//tbCols->First();
//grdCols->DataController->DataSource = dsCols;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
AnsiString tbName, tbOwner;
tbName = tbTable1tbName->Value;
tbOwner = tbTable1tbOwner->Value;
TableCols.clear();
Oracle.GetTableCol(tbName, tbOwner, TableCols);
//Oracle.GetTableDataInfo(tbName, tbOwner, TableData);
grdCols->DataController->DataSource = NULL;
grdCols->OptionsView->NoDataToDisplayInfoText = "正在读取字段信息...";
tbCols->Close();
tbCols->Open();
//ProgressBar1->Position = 0;
//ProgressBar1->Min = 0;
//ProgressBar1->Max = tbCols1->RecordCount;
for (unsigned int i = 0; i < TableCols.size(); i++)
{
tbCols->Append();
tbColscolName->Value = TableCols[i].ColumnName;
tbColscolType->Value = TableCols[i].DataType;
tbColscolLen->Value = TableCols[i].DataLength;
//tbCols1col4->Value = TableData[i].col4;
tbCols->Post();
//ProgressBar1->Position++;
}
tbCols1->First();
grdCols->DataController->DataSource = dsCols;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::grdTableCustomDrawCell(
TcxCustomGridTableView *Sender, TcxCanvas *ACanvas,
TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone)
{
AnsiString tbName, tbOwner;
tbName = tbTable1tbName->Value;
tbOwner = tbTable1tbOwner->Value;
TableCols.clear();
Oracle.GetTableCol(tbName, tbOwner, TableCols);
grdCols->DataController->DataSource = NULL;
grdCols->OptionsView->NoDataToDisplayInfoText = "正在读取字段信息...";
tbCols1->Close();
tbCols1->Open();
for (unsigned int i = 0; i < TableCols.size(); i++)
{
tbCols1->Append();
tbCols1colName->Value = TableCols[i].ColumnName;
tbCols1colType->Value = TableCols[i].DataType;
tbCols1colLen->Value = TableCols[i].DataLength;
tbCols1->Post();
}
tbCols1->First();
grdCols->DataController->DataSource = dsCols;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -