MFC连接Mysql数据库实行查询和插入

布局情形:

配置情形:

    include:libpq-fe.h文件

    include:mysql.h文件

    lib:libpq.lib文件

    lib:libmysql.lib文件

    dll:libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,ssleay32.dll多少个文件

    dll:;libmysql.dll文件

连续几天来代码: 

三翻五次代码:

PGresult *res;//存放结果
PGconn *m_conn;

MYSQL m_sqlCon;
MYSQL_RES *m_res;
MYSQL_ROW row;

//连接数据库

//开头化数据库
mysql_init(&m_sqlCon);
// 设置连接数据库字符串
CString conn_ip,conn_port,conn_dbname,conn_user,conn_password;

m_conn = PQsetdbLogin(ip,port,"","",dbname,user,password);

if(!mysql_real_connect(&m_sqlCon,conn_ip,conn_user,conn_password,conn_dbname,int_port,NULL,0))
{
  AfxMessageBox(_T("访谈数据库战败!"));
  return;
}

PQsetClientEncoding(m_conn,"GBK");
if (PQstatus(m_conn) != CONNECTION_OK)
{
//连接数据库战败,就输出失败原因
CString strErr;
strErr.Format(_T("连接数据库退步 [%s]"),CString(PQerrorMessage(m_conn)));
AfxMessageBox(strErr);
PQfinish(m_conn);
return;
}

mysql_query(&m_sqlCon,"SET NAMES 'GB2312'");//化解从数据库中读取数据曹魏字乱码显示的标题  

//定义数据库查询语句取得查询结果
string strsql = "select * from tb_way_performance where sp_way_id>0" ;
res = PQexec(m_conn, strsql.c_str());

//定义sql语句

//依据字段值得到字段way_id所在列

const char *sql = "select * from table";

int col_way_id = PQfnumber(res,"way_id");

//实施查询

//获取列值col_way_id 和行值i获得单元格的值

m_res = mysql_store_result(&m_sqlCon);

CString str_way_id(PQgetvalue(result,i,col_way_id));

//如若为空则再次来到

 

if(NULL == m_res)
{ return; }

最终附带libpq连接postgre数据库的api文书档案

//重复读取行,把数据放入列表中,直到row为NULL

while (row = mysql_fetch_row(m_res)) 
{
  for (int rols = 0; rols < 2; rols )
  {
    CString myreaddata(row[rols]);
    list.AddString(myreaddata);
  }
}

//施行插入

const char *sql = "insert into tb_rdchange(way_id,sp_way_id) values(4,4)";
if(mysql_real_query(&m_sqlCon, sql,(unsigned long)strlen(sql)))
{
  return;
}

 

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:MFC连接Mysql数据库实行查询和插入

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。