⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlgtableprop.cpp

📁 连接MYSQL数据库
💻 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 + -