📄 dlgtableprop.cpp
字号:
//author : Jarry
//E-mail : lansingk@online.sh.cn
// DlgTableProp.cpp : implementation file
#include "stdafx.h"
#include "mysqlManager.h"
#include "DlgTableProp.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgTableProp dialog
CDlgTableProp::CDlgTableProp(CWnd* pParent /*=NULL*/)
: CDialog(CDlgTableProp::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgTableProp)
m_strTableName = _T("");
//}}AFX_DATA_INIT
}
void CDlgTableProp::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgTableProp)
DDX_Control(pDX, IDC_LST_TABLE_PROP, m_lstFields);
DDX_Text(pDX, IDC_LBL_TABLE, m_strTableName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgTableProp, CDialog)
//{{AFX_MSG_MAP(CDlgTableProp)
ON_WM_SHOWWINDOW()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgTableProp message handlers
void CDlgTableProp::OnShowWindow(BOOL bShow, UINT nStatus)
{
MYSQL_RES *res;
CHAR szSQL[1024];
CDialog::OnShowWindow(bShow, nStatus);
UpdateData(false);
sprintf(szSQL,"SHOW COLUMNS FROM %s",m_strTableName);
if (mysql_query(m_pMysql,szSQL) == 0)
{
res = mysql_store_result(m_pMysql);
ShowRecords(res,m_lstFields);
if (res != NULL)
mysql_free_result(res);
}
else
AfxMessageBox(mysql_error(m_pMysql));
// Following code is correct , but it's recommended that using SHOW COLUMNS FROM tbl_name
// instead of mysql_list_fields().
// res = mysql_list_fields(m_pMysql,m_strTableName,"%");
// //AfxMessageBox(mysql_error(m_pMysql));
// if (res != NULL)
// {
// MYSQL_FIELD *fd;
// int nCol;
// for (nCol = 0 ; m_lstFields.DeleteColumn(0) ; nCol++);
// m_lstFields.InsertColumn(0,"Field Name",LVCFMT_LEFT,150);
// m_lstFields.InsertColumn(1,"Type",LVCFMT_LEFT,80);
// m_lstFields.InsertColumn(2,"Length",LVCFMT_RIGHT,60);
// m_lstFields.InsertColumn(3,"Key",LVCFMT_CENTER,40);
// m_lstFields.InsertColumn(4,"NULL",LVCFMT_CENTER,50);
// m_lstFields.InsertColumn(5,"Default",LVCFMT_LEFT,140);
// m_lstFields.DeleteAllItems();
// for (nCol = 0 ; fd = mysql_fetch_field(res) ; nCol++)
// {
// m_lstFields.InsertItem(nCol,fd->name);
// switch (fd->type)
// {
// case FIELD_TYPE_TINY:
// m_lstFields.SetItemText(nCol,1,"tinyint");
// break;
// case FIELD_TYPE_SHORT:
// m_lstFields.SetItemText(nCol,1,"smallint");
// break;
// case FIELD_TYPE_LONG:
// m_lstFields.SetItemText(nCol,1,"integer");
// break;
// case FIELD_TYPE_INT24:
// m_lstFields.SetItemText(nCol,1,"mediumint");
// break;
// case FIELD_TYPE_LONGLONG:
// m_lstFields.SetItemText(nCol,1,"bigint");
// break;
// case FIELD_TYPE_DECIMAL:
// m_lstFields.SetItemText(nCol,1,"decimal");
// break;
// case FIELD_TYPE_FLOAT:
// m_lstFields.SetItemText(nCol,1,"float");
// break;
// case FIELD_TYPE_DOUBLE:
// m_lstFields.SetItemText(nCol,1,"double");
// break;
// case FIELD_TYPE_TIMESTAMP:
// m_lstFields.SetItemText(nCol,1,"timestamp");
// break;
// case FIELD_TYPE_DATE:
// m_lstFields.SetItemText(nCol,1,"date");
// break;
// case FIELD_TYPE_TIME:
// m_lstFields.SetItemText(nCol,1,"time");
// break;
// case FIELD_TYPE_DATETIME:
// m_lstFields.SetItemText(nCol,1,"datetime");
// break;
// case FIELD_TYPE_YEAR:
// m_lstFields.SetItemText(nCol,1,"year");
// break;
// case FIELD_TYPE_STRING:
// m_lstFields.SetItemText(nCol,1,"char");
// break;
// case FIELD_TYPE_VAR_STRING:
// m_lstFields.SetItemText(nCol,1,"varchar");
// break;
// case FIELD_TYPE_BLOB:
// m_lstFields.SetItemText(nCol,1,"blob");
// break;
// case FIELD_TYPE_SET:
// m_lstFields.SetItemText(nCol,1,"set");
// break;
// case FIELD_TYPE_ENUM:
// m_lstFields.SetItemText(nCol,1,"enum");
// break;
// case FIELD_TYPE_NULL:
// m_lstFields.SetItemText(nCol,1,"null");
// break;
// default :
// m_lstFields.SetItemText(nCol,1,"unknown");
// }
// CHAR szBuf[512];
// itoa(fd->length,szBuf,10);
// m_lstFields.SetItemText(nCol,2,szBuf);
// if (IS_PRI_KEY(fd->flags))
// m_lstFields.SetItemText(nCol,3,"Y");
// if (IS_NOT_NULL(fd->flags))
// m_lstFields.SetItemText(nCol,4,"N");
// else
// m_lstFields.SetItemText(nCol,4,"Y");
// m_lstFields.SetItemText(nCol,5,fd->def);
// }
// mysql_free_result(res);
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -