void CMy1Dlg::OnBnClickedButton2()
{
MYSQL mysql;
mysql_init(&mysql);
CString strSQL;
if(!mysql_real_connect(&mysql,"localhost","root","singreen","imagedatabase",3306,NULL,0))
MessageBox("数据库连接失败!");
else
{
MYSQL_RES *res_ptr=NULL;
MYSQL_ROW str_row;
int num_fields,num_rows;
strSQL="select * from patienttable";
mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength());
res_ptr=mysql_store_result(&mysql);
num_fields=mysql_num_fields(res_ptr);//列的数量
num_rows=mysql_num_rows(res_ptr);//行数量
char **data=new char*[num_rows];//定义动态二维数组
for(int i=0;i<num_rows;i++)
data[i]=new char[num_fields]; for(int i=0;i<num_rows;i++)
{
str_row=mysql_fetch_row(res_ptr);
//从结果集中 每行 行内容赋值给str_row数组str_row
for(int j=0;j<num_fields;j++)
{
data[i][j]=str_row[i][j]; //此处问题
/* 问题:如何将取出的值赋给我定义的动态数组呢?*/
}
} mysql_free_result(res_ptr);//结果集释放
mysql_close(&mysql);//关闭数据库 for(int m=0;m<num_rows;m++) //释放内存
delete[] data[m];
delete[] data; //二维数组释放空间 }}
{
MYSQL mysql;
mysql_init(&mysql);
CString strSQL;
if(!mysql_real_connect(&mysql,"localhost","root","singreen","imagedatabase",3306,NULL,0))
MessageBox("数据库连接失败!");
else
{
MYSQL_RES *res_ptr=NULL;
MYSQL_ROW str_row;
int num_fields,num_rows;
strSQL="select * from patienttable";
mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength());
res_ptr=mysql_store_result(&mysql);
num_fields=mysql_num_fields(res_ptr);//列的数量
num_rows=mysql_num_rows(res_ptr);//行数量
char **data=new char*[num_rows];//定义动态二维数组
for(int i=0;i<num_rows;i++)
data[i]=new char[num_fields]; for(int i=0;i<num_rows;i++)
{
str_row=mysql_fetch_row(res_ptr);
//从结果集中 每行 行内容赋值给str_row数组str_row
for(int j=0;j<num_fields;j++)
{
data[i][j]=str_row[i][j]; //此处问题
/* 问题:如何将取出的值赋给我定义的动态数组呢?*/
}
} mysql_free_result(res_ptr);//结果集释放
mysql_close(&mysql);//关闭数据库 for(int m=0;m<num_rows;m++) //释放内存
delete[] data[m];
delete[] data; //二维数组释放空间 }}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货