• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

Android

C++与mysql连接遇到的问题

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/Android/2019/1017/682.html

 
下面常州网站开发培训小编给朋友们说明c++与mysql持续的思绪详解及遇到题目汇总,最不错,感乐趣的身边的人参考下吧
 
最近接触了许多数据库的东西,原来是一直接触的是sql server,但是因为名目需求就开始对mysql进行了持续。下面就让我这个菜鸟浅谈下履历吧。
 
对于C++持续mysql,我不太稀饭多下载一个软件mysqlodbc,以是接纳的是通过mysql本人的API函数进行持续:
 
1、应用API的方法持续,需求加载mysql的头文件和lib文件。
 
在VS2010的附加包含目次中增加\MySQL\MySQL Server 5.1\include。在安置MySql的目次下找。 把libmysql.dll和libmysql.lib文件拷贝到所建的工程目次下。而后在头文件里包含常州软件技术培训以下内容:
 
//mysql所需的头文件和库文件
 
#include "winsock.h"
 
#include "mysql.h"
 
#pragma co毫米ent(lib,"libmySQL.lib")
 
2、进行编码
 
(1)持续mysql数据库
 
头文件里定义数据源指针 MYSQL m_sqlCon;
 
//持续MySql数据库
 
try
 
{
 
mysql_init(&m_sqlCon);
 
// localhost:服务器 root为账号密码 test为数据库名 3306为端口
 
if(!mysql_real_connect(&m_sqlCon, "localhost","root","root","test",3306,NULL,0))
 
{
 
AfxMessageBox(_T("数据库持续失利!"));
 
return FALSE;
 
}
 
return TRUE;
 
}
 
catch (...)
 
{
 
return FALSE;
 
}
 
(2)关闭数据库
 
mysql_close(&m_sqlCon);
 
(3)建立表
 
char* pQuery = "create table if not exists DS_Building( ID VARCHAR(10),Name VARCHAR(255),Descs VARCHAR(255),PRIMARY KEY (ID))"
 
if(mysql_real_query(&m_sqlCon,pQuery,(UINT)strlen(pQuery))!=0)
 
{
 
const char* pCh = mysql_error(&m_sqlCon);
 
return FALSE;
 
}
 
附MySQL的API接口:
 
1.mysql_affected_rows() 回笼被最新的UPDATE, DELETE或INSERT盘问影响的行数。 
 
2.mysql_close() 关闭一个服务器持续。 
 
3.mysql_connect() 持续一个MySQL服务器。该函数不保举;应用mysql_real_connect()取代。 
 
4.mysql_change_user() 转变在一个翻开的持续上的用户和数据库。 
 
5.mysql_create_db() 建立一个数据库。该函数不保举;而应用SQL号令CREATE DATABASE。 
 
6.mysql_data_seek() 在一个盘问后果鸠合中征采一随便行。 
 
7.mysql_debug() 用给定字符串做一个DBUG_PUSH。 
 
8.mysql_drop_db() 抛弃一个数据库。该函数不保举;而应用SQL号令DROP DATABASE。 
 
9.mysql_dump_debug_info() 让服务器将调试信息写入日记文件。 
 
10.mysql_eof() 确定是否曾经读到一个后果鸠合的最后一行。这功效被反对; mysql_errno()或mysql_error()可以相反被应用。 
 
11.mysql_errno() 回笼最近被挪用的MySQL函数的失足编号。 
 
12.mysql_error() 回笼最近被挪用的MySQL函数的失足消息。 
 
13.mysql_escape_string() 用在SQL语句中的字符串的转义分外字符。 
 
14.mysql_fetch_field() 回笼下一个表字段的范例。 
 
15.mysql_fetch_field_direct () 回笼一个表字段的范例,给出一个字段编号。 
 
16.mysql_fetch_fields() 回笼一个所有字段布局的数组。 
 
17.mysql_fetch_lengths() 回笼目前行中所有列的长度。 
 
18.mysql_fetch_row() 从后果鸠合中获得下一行。 
 
19.mysql_field_seek() 把列光标放在一个指定的列上。 
 
20.mysql_field_count() 回笼最近盘问的后果列的数目。 
 
21.mysql_field_tell() 回笼用于最后一个mysql_fetch_field()的字段光标的位置。 
 
22.mysql_free_result() 开释一个后果鸠合应用的内存。 
 
23.mysql_get_client_info() 回笼客户版本信息。 
 
24.mysql_get_host_info() 回笼一个形貌持续的字符串。 
 
25.mysql_get_proto_info() 回笼持续应用的和谈版本。 
 
26.mysql_get_server_info() 回笼服务器版本号。 
 
27.mysql_info() 回笼对于最近执行得盘问的信息。 
 
28.mysql_init() 获得或初始化一个MYSQL布局。 
 
29.mysql_insert_id() 回笼有前一个盘问为一个AUTO_INCREMENT列生成的ID。 
 
30.mysql_kill() 杀死一个给定的线程。 
 
31.mysql_list_dbs() 回笼般配一个简单的正则表白式的数据库名。 
 
32.mysql_list_fields() 回笼般配一个简单的正则表白式的列名。 
 
33.mysql_list_processes() 回笼目前服务器线程的一张表。 
 
34.mysql_list_tables() 回笼般配一个简单的正则表白式的表名。 
 
35.mysql_num_fields() 回笼一个后果鸠合重的列的数目。 
 
36.mysql_num_rows() 回笼一个后果鸠合中的行的数目。 
 
37.mysql_options() 配置对mysql_connect()的持续选项。 
 
38.mysql_ping() 搜检对服务器的持续是否正在事情,须要时从新持续。 
 
39.mysql_query() 执行指定为一个空结尾的字符串的SQL盘问。 
 
40.mysql_real_connect() 持续一个MySQL服务器。 
 
41.mysql_real_query() 执行指定为带计数的字符串的SQL盘问。 
 
42.mysql_reload() 报告服务器重装授权表。 
 
43.mysql_row_seek() 搜刮在后果鸠合中的行,应用从mysql_row_tell()回笼的值。 
 
44.mysql_row_tell() 回笼行光标位置。 
 
45.mysql_select_db() 持续一个数据库。 
 
46.mysql_shutdown() 关掉数据库服务器。 
 
47.mysql_stat() 回笼作为字符串的服务器状况。 
 
48.mysql_store_result() 检索一个完备的后果鸠合给客户。 
 
49.mysql_thread_id() 回笼目前线程的ID。 
 
50.mysql_use_result() 初始化一个一行一行地后果鸠合的检索。 
 
所遇到的题目:
 
刚开始我常州平台运营用VS2015持续mysql,发现一直出现无法分析外部象征这种错误,找了良久看了链接器那些发现没有甚么错啊。后来找了良久发现是因为VS默认的运转平台是32位的,而我的mysql是64位.对于这种你只需求在名目属性的配置经管中把运转平台改成x64即可。固然,也能够下一个mysql32位的Lib和dll。
 
以上所述是小编给朋友们说明的C++与mysql持续遇到的题目汇总,有望对朋友们有所赞助,要是朋友们有任何疑难请给我留言,小编会实时回复朋友们的。在此也最感谢朋友们对ht网站的支持!
 
 
 

上篇:上一篇:android am号令用法
下篇:下一篇:安卓百度地图6.0以上无法定位的问题