📄 browdatastrudlg.cpp
字号:
// BrowDataStruDlg.cpp : implementation file
//
#include "stdafx.h"
#include "OO4O_VC.h"
#include "BrowDataStruDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBrowDataStruDlg dialog
CBrowDataStruDlg::CBrowDataStruDlg(CString strTableName,BOOL bIsTableData,CWnd* pParent /*=NULL*/)
: CDialog(CBrowDataStruDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBrowDataStruDlg)
// NOTE: the ClassWizard will add member initialization here
m_strTableName =strTableName;
m_bIsTableData =bIsTableData;
//}}AFX_DATA_INIT
}
void CBrowDataStruDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBrowDataStruDlg)
DDX_Control(pDX, IDC_LIST_DATASTRU, m_listctrl1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBrowDataStruDlg, CDialog)
//{{AFX_MSG_MAP(CBrowDataStruDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBrowDataStruDlg message handlers
BOOL CBrowDataStruDlg::OnInitDialog()
{
CDialog::OnInitDialog();
DWORD st= m_listctrl1.GetExtendedStyle();
m_listctrl1.SetExtendedStyle(st|LVS_EX_GRIDLINES );
COO4O_VCApp * pApp =(COO4O_VCApp *)AfxGetApp();
if(!this->m_bIsTableData)
{
CStringArray strColumnNameArray,arrColumnDataType,
arrDataLength,arrDataPrec,arrDataScale;
pApp->oo4o_vc.GetTableColumns(m_strTableName,&strColumnNameArray,&arrColumnDataType,
&arrDataLength,&arrDataPrec,&arrDataScale);
//Insert the column
m_listctrl1.InsertColumn(0,"字段名",LVCFMT_LEFT,100,0);
m_listctrl1.InsertColumn(1,"类型",LVCFMT_LEFT,80,1);
m_listctrl1.InsertColumn(2,"长度",LVCFMT_LEFT,38,2);
m_listctrl1.InsertColumn(3,"精度",LVCFMT_LEFT,60,3);
m_listctrl1.InsertColumn(4,"小数位数",LVCFMT_LEFT,60,4);
m_listctrl1.DeleteAllItems();
for(int i=0;i<strColumnNameArray.GetSize();i++)
{
m_listctrl1.InsertItem(i,strColumnNameArray.GetAt(i),1);
CString str;
str.Format("%d",i+1);
m_listctrl1.SetItemText(i,0,strColumnNameArray.GetAt(i));
m_listctrl1.SetItemText(i,1,arrColumnDataType.GetAt(i));
m_listctrl1.SetItemText(i,2,arrDataLength.GetAt(i));
m_listctrl1.SetItemText(i,3,arrDataPrec.GetAt(i));
m_listctrl1.SetItemText(i,4,arrDataScale.GetAt(i));
}
}
else
{
CString szSQL;
szSQL.Format("select * from %s",m_strTableName);
pApp->oo4o_vc.m_OraSet.Open(pApp->oo4o_vc.m_OraDB,szSQL);
if(!pApp->oo4o_vc.m_OraSet.IsOpen())
{
AfxMessageBox(pApp->oo4o_vc.m_OraSet.GetErrorText());
return FALSE;
}
int nFields=pApp->oo4o_vc.m_OraSet.GetFieldCount();
if(nFields<=0) return FALSE;
//编辑窗口中添加字段名
for(int i=0;i<nFields;i++)
{
CString szFieldName=pApp->oo4o_vc.m_OraSet.GetField(i).GetName();
m_listctrl1.InsertColumn(i,szFieldName,LVCFMT_CENTER,80,i);
}
int nRecords=pApp->oo4o_vc.m_OraSet.GetRecordCount();
if(nRecords>0) //记录存在,逐步添加记录信息
{
int iNext=0;
while (!pApp->oo4o_vc.m_OraSet.IsEOF())
{
m_listctrl1.InsertItem(iNext,"",1);
for(i=0;i<nFields;i++)
{
OValue val;
pApp->oo4o_vc.m_OraSet.GetFieldValue(i,&val);
CString strValue=(const char *)val;
if(strValue.GetLength()>0)
{
m_listctrl1.SetItemText(iNext,i,strValue);
}
else
{
m_listctrl1.SetItemText(iNext,i,"BLOB");
}
}
pApp->oo4o_vc.m_OraSet.MoveNext();
iNext=iNext+1;
}
}
pApp->oo4o_vc.m_OraSet.Close();
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -