代码如下BOOLCsqltextDlg::OnInitDialog(){CDialogEx::OnInitDialog();//将“关于...”菜单项添加到系统菜单中。//IDM_ABOUTBOX必须在系统命令范围内。ASSERT((IDM_ABOUTBOX&0xFFF0)=...
代码如下
BOOL CsqltextDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 将“关于...”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE);// 设置大图标
SetIcon(m_hIcon, FALSE);// 设置小图标
// TODO: 在此添加额外的初始化代码
m_List.SetExtendedStyle(LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES);
m_List.InsertColumn(0,_T("ID"),LVCFMT_LEFT,100,0);
m_List.InsertColumn(1,_T("Name"),LVCFMT_LEFT,100,1);
m_List.InsertColumn(2,_T("CountryCode"),LVCFMT_LEFT,100,2);
m_List.InsertColumn(3,_T("District"),LVCFMT_LEFT,100,3);
m_List.InsertColumn(4,_T("Population"),LVCFMT_LEFT,100,4);
MYSQL m_MySQL;
mysql_init(&m_MySQL);
if(!mysql_real_connect(&m_MySQL,"localhost","root","159753","world",3306,NULL,0))
{
AfxMessageBox(_T("数据库连接失败"));
return FALSE;
}
char *ch_query;
ch_query="SELECT * FROM city";
if(mysql_real_query(&m_MySQL,"SELECT * FROM city",(UINT)strlen(ch_query))!=0)
{
AfxMessageBox(_T("读取数据表格失败!"));
return FALSE;
}
MYSQL_RES *result;
MYSQL_ROW row;
if(!(result=mysql_use_result(&m_MySQL)))
{
AfxMessageBox(_T("读取数据集失败"));
return FALSE;
}
CString str;
int i=0;
while(row = mysql_fetch_row(result))
{
str.Format(_T("%s"),row[0]);
m_List.InsertItem(i,str);
str.Format(_T("%s"),row[1]);
m_List.SetItemText(i,1,str);
str.Format(_T("%s"),row[2]);
m_List.SetItemText(i,2,str);
str.Format(_T("%s"),row[3]);
m_List.SetItemText(i,3,str);
str.Format(_T("%s"),row[4]);
m_List.SetItemText(i,4,str);
i++;
}
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
同样的代码在去掉str.Format(_T("%s"),row[i]);中的 _T()后在VC6.0中可以显示正常的英文 如下图
下图是数据库中表信息
展开