4,011
社区成员
发帖
与我相关
我的任务
分享
void CsqlsqlDlg::OnBnClickedButton5()
{
// TODO: 在此添加控件通知处理程序代码
MYSQL m_sqlCon;
MYSQL_ROW row;
MYSQL_RES *res;
mysql_init(&m_sqlCon);//初始化数据库对象
if (!mysql_real_connect(&m_sqlCon, "localhost", "root", "123456", "data", 3306, NULL, 0))
//localhost:服务器地址,可以直接填入IP;root:账号;123:密码;test:数据库名;3306:网络端口
{
AfxMessageBox(_T("数据库连接失败!"));
return;
}
else//连接成功则继续访问数据库,之后的相关操作代码基本是放在这里面的
{
mysql_query(&m_sqlCon, "SET NAMES 'GB2312'");//设置数据库字符格式,解决中文乱码问题
GetDlgItemText(IDC_EDIT4, m_edit);
UpdateData(TRUE);
char *mysqlstatements ="SELECT * FROM th WHERE id=m_edit";
if (mysql_real_query(&m_sqlCon,mysqlstatements, (unsigned long)strlen(mysqlstatements)))// 查询数据库中的"th"表
{
return;
}
res = mysql_store_result(&m_sqlCon);//得到存储结果集
if (NULL == res)//如果为空则返回
{
return;
}
int listrow = 0,i=0;
int cols=mysql_num_rows(res); //得到行数
int lies=mysql_num_fields(res); //得到每行的变量数
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,50,0);//第一列
m_list.InsertColumn(1,_T("D1"),LVCFMT_LEFT,50,1);//第二列
m_list.InsertColumn(2,_T("D2"),LVCFMT_LEFT,50,2);//第三列
m_list.InsertColumn(3,_T("D3"),LVCFMT_LEFT,50,3);//第四列
m_list.InsertColumn(4,_T("NC"),LVCFMT_LEFT,300,4);//第五列
while (row = mysql_fetch_row(res))//重复读取行,把数据放入列表中,直到row为NULL
{
for (int rols = 0; rols < lies; rols++)
{
CString myreaddata(row[rols]);
if (rols==0)
{
m_list.InsertItem(listrow,myreaddata);
}
else
{
m_list.SetItemText(listrow, rols, myreaddata);
}
}
listrow++;
}
}
mysql_close(&m_sqlCon);//关闭Mysql连接
}
void CsqlsqlDlg::OnBnClickedButton5()
{
// TODO: 在此添加控件通知处理程序代码
MYSQL m_sqlCon;
MYSQL_ROW row;
MYSQL_RES *res;
mysql_init(&m_sqlCon);//初始化数据库对象
if (!mysql_real_connect(&m_sqlCon, "localhost", "root", "123456", "data", 3306, NULL, 0))
//localhost:服务器地址,可以直接填入IP;root:账号;123:密码;test:数据库名;3306:网络端口
{
AfxMessageBox(_T("数据库连接失败!"));
return;
}
else//连接成功则继续访问数据库,之后的相关操作代码基本是放在这里面的
{
mysql_query(&m_sqlCon, "SET NAMES 'GB2312'");//设置数据库字符格式,解决中文乱码问题
char mysqlstatements[1024];
char charnc[256];
CString str;
GetDlgItem(IDC_EDIT4)->GetWindowText(str);
sprintf(charnc,"%s",str);
sprintf(mysqlstatements,"SELECT * FROM th WHERE id='%s';",charnc);
if (mysql_real_query(&m_sqlCon,mysqlstatements, (unsigned long)strlen(mysqlstatements)))// 查询数据库中的"th"表
{
return;
}
res = mysql_store_result(&m_sqlCon);//得到存储结果集
if (NULL == res)//如果为空则返回
{
return;
}
int listrow = 0,i=0;
int cols=mysql_num_rows(res); //得到行数
int lies=mysql_num_fields(res); //得到每行的变量数
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,50,0);//第一列
m_list.InsertColumn(1,_T("D1"),LVCFMT_LEFT,50,1);//第二列
m_list.InsertColumn(2,_T("D2"),LVCFMT_LEFT,50,2);//第三列
m_list.InsertColumn(3,_T("D3"),LVCFMT_LEFT,50,3);//第四列
m_list.InsertColumn(4,_T("NC"),LVCFMT_LEFT,300,4);//第五列
while (row = mysql_fetch_row(res))//重复读取行,把数据放入列表中,直到row为NULL
{
for (int rols = 0; rols < lies; rols++)
{
CString myreaddata(row[rols]);
if (rols==0)
{
m_list.InsertItem(listrow,myreaddata);
}
else
{
m_list.SetItemText(listrow, rols, myreaddata);
}
}
listrow++;
}
}
mysql_close(&m_sqlCon);//关闭Mysql连接
}