使用mysql库连接mysql
2015-12-22 13:40
477 查看
#include "mysql.h"
定义对象,初始化
MYSQL myCont;
mysql_init(&myCont);
//连接数据库
mysql_real_connect(&myCont, Ipstr.c_str(), ((CStringA)m_strUser.GetBuffer()).GetBuffer(),\
((CStringA)m_strPwd.GetBuffer()).GetBuffer(),\
((CStringA)m_strDbName.GetBuffer()).GetBuffer(), m_nPort, NULL, 0)
//从数据库读取数据
bool CMianDlg::GetDateData(void)
{
CStringA stra;
stra.Format("select *from %s", NVRTABLE);
if(mysql_query(&myCont, stra.GetBuffer())) //执行SQL语句
{
AfxMessageBox(_T("查询失败"));
return false;
}
else
{
m_vecNvrIp.empty();
if (!(res = mysql_store_result(&myCont)))
{
mysql_free_result(res);
return false;
}
int size = mysql_affected_rows(&myCont);
m_vecNvrIp.resize(size);
int i=0;
while(column = mysql_fetch_row(res))
{
m_vecNvrIp[i].strId.Format(_T("%s"), (CStringW)column[0]) ;
m_vecNvrIp[i].strNvrIp.Format(_T("%s"), (CStringW)column[1]) ;
m_vecNvrIp[i].strNvrPort.Format(_T("%s"), (CStringW)column[2]) ;
m_vecNvrIp[i].strNvrUser.Format(_T("%s"), (CStringW)column[3]) ;
m_vecNvrIp[i].strNvrPwd.Format(_T("%s"), (CStringW)column[4]) ;
m_vecNvrIp[i].strIpcIp.Format(_T("%s"), (CStringW)column[5]);
i++;
}
}
mysql_free_result(res);
return true;
}
添加一行
sprintf(maindlg->Buffer, "insert into %s values(NULL, '%s', '%d', '%s', '%s', '%s')", NVRTABLE, maindlg->m_nvr_ip.nvr_ip, maindlg->m_nvr_ip.nvr_port,\
maindlg->m_nvr_ip.nvr_user, maindlg->m_nvr_ip.nvr_pwd, maindlg->m_nvr_ip.ipc_ip);
if (mysql_query(&maindlg->myCont, maindlg->Buffer))
删除一行
strSqlDel.Format(_T("DELETE FROM %s WHERE IPC_IP = '%s'"), (CStringW)NVRTABLE, str);
CStringA stra(strSqlDel.GetBuffer(0));
string strBuffer = stra.GetBuffer(0);
if(mysql_query(&maindlg->myCont, strBuffer.c_str()/*szTempIcp*/)) //执行SQL语句
修改一行数据
stra.Format("update %s set NVR_IP = '%s',NVR_PORT = '%d',NVR_USER = '%s',NVR_PWD = '%s',IPC_IP = '%s' where id = '%s'", NVRTABLE,\
((CStringA)dlg.m_strNvrIp.GetBuffer()).GetBuffer(), dlg.m_iNvrPort, ((CStringA)dlg.m_strNvrUser.GetBuffer()).GetBuffer(0), \
((CStringA)dlg.m_strNvrPwd.GetBuffer(0)).GetBuffer(0), ((CStringA)dlg.m_strIpcIp.GetBuffer()).GetBuffer(), ((CStringA)maindlg->pStr[0].GetBuffer(0)).GetBuffer(0));
string str(stra.GetBuffer(0));
if (mysql_query(&(maindlg->myCont), str.c_str()))
//关闭连接
mysql_close(&myCont);
定义对象,初始化
MYSQL myCont;
mysql_init(&myCont);
//连接数据库
mysql_real_connect(&myCont, Ipstr.c_str(), ((CStringA)m_strUser.GetBuffer()).GetBuffer(),\
((CStringA)m_strPwd.GetBuffer()).GetBuffer(),\
((CStringA)m_strDbName.GetBuffer()).GetBuffer(), m_nPort, NULL, 0)
//从数据库读取数据
bool CMianDlg::GetDateData(void)
{
CStringA stra;
stra.Format("select *from %s", NVRTABLE);
if(mysql_query(&myCont, stra.GetBuffer())) //执行SQL语句
{
AfxMessageBox(_T("查询失败"));
return false;
}
else
{
m_vecNvrIp.empty();
if (!(res = mysql_store_result(&myCont)))
{
mysql_free_result(res);
return false;
}
int size = mysql_affected_rows(&myCont);
m_vecNvrIp.resize(size);
int i=0;
while(column = mysql_fetch_row(res))
{
m_vecNvrIp[i].strId.Format(_T("%s"), (CStringW)column[0]) ;
m_vecNvrIp[i].strNvrIp.Format(_T("%s"), (CStringW)column[1]) ;
m_vecNvrIp[i].strNvrPort.Format(_T("%s"), (CStringW)column[2]) ;
m_vecNvrIp[i].strNvrUser.Format(_T("%s"), (CStringW)column[3]) ;
m_vecNvrIp[i].strNvrPwd.Format(_T("%s"), (CStringW)column[4]) ;
m_vecNvrIp[i].strIpcIp.Format(_T("%s"), (CStringW)column[5]);
i++;
}
}
mysql_free_result(res);
return true;
}
添加一行
sprintf(maindlg->Buffer, "insert into %s values(NULL, '%s', '%d', '%s', '%s', '%s')", NVRTABLE, maindlg->m_nvr_ip.nvr_ip, maindlg->m_nvr_ip.nvr_port,\
maindlg->m_nvr_ip.nvr_user, maindlg->m_nvr_ip.nvr_pwd, maindlg->m_nvr_ip.ipc_ip);
if (mysql_query(&maindlg->myCont, maindlg->Buffer))
删除一行
strSqlDel.Format(_T("DELETE FROM %s WHERE IPC_IP = '%s'"), (CStringW)NVRTABLE, str);
CStringA stra(strSqlDel.GetBuffer(0));
string strBuffer = stra.GetBuffer(0);
if(mysql_query(&maindlg->myCont, strBuffer.c_str()/*szTempIcp*/)) //执行SQL语句
修改一行数据
stra.Format("update %s set NVR_IP = '%s',NVR_PORT = '%d',NVR_USER = '%s',NVR_PWD = '%s',IPC_IP = '%s' where id = '%s'", NVRTABLE,\
((CStringA)dlg.m_strNvrIp.GetBuffer()).GetBuffer(), dlg.m_iNvrPort, ((CStringA)dlg.m_strNvrUser.GetBuffer()).GetBuffer(0), \
((CStringA)dlg.m_strNvrPwd.GetBuffer(0)).GetBuffer(0), ((CStringA)dlg.m_strIpcIp.GetBuffer()).GetBuffer(), ((CStringA)maindlg->pStr[0].GetBuffer(0)).GetBuffer(0));
string str(stra.GetBuffer(0));
if (mysql_query(&(maindlg->myCont), str.c_str()))
//关闭连接
mysql_close(&myCont);
相关文章推荐
- ucenter info:can not connect to MySQL server解决办法
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- 解决MySQL显示中文的问题
- Async.js解决Node.js操作MySQL的回调大坑
- 编译安装MySQL
- MySQLDump在使用之前一定要想到的事情 [转载]
- MySQL错误:2003-Can't connect to MySQL server on 'localhost' (10061)
- mysql修改字符编码
- mysql自定义循环函数
- mysql数据表中文乱码解决方案
- MySQL数据库加密与解密
- 在Window上安装Mysql
- Mysql数据库int(1)和tinyint(1)的区别&&扩展阅读
- Mysql经常使用命令
- mysql 分组取最新的一条记录(整条记录)
- 转-MySQL - Show Processlist 整理
- 配置mysql默认编码格式 && 解决Can't connect to local MySQL server through socket 问题
- 树莓派上的mysql数据库中文乱码问题
- mysql数据库批量操作
- MySQL functions, IF, CASE