MySQL的c调用
1. 附加项一定 加上libmysql.lib。
2. include 一定加上 mysql的include(因为要跑这关键一句
#include <mysql.h>)
3 lib 一定加上 mysql的lib
好了下面是实例和php函数基本一样的。本人不可能给你翻译文档,函数不懂自己看。
#include
<windows.h>//用这个方便,包含winsock.h所以包含winsock也可以
#include <iostream>
#include <mysql.h>
using namespace std;
int main( int argc, char * argv[] )
{
//这类型别错了,具体看文档
MYSQL mysql;
MYSQL *pdata;
MYSQL_RES
*result;
MYSQL_ROW
row;
char sqlcommand[80];
mysql_init(&mysql);//一个初始化
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"Gamer");
//控制链接行为的
pdata=mysql_real_connect(&mysql,"localhost","root","123456","gamer",0,NULL,0);
//数据库链接
if(pdata)
{
cout<<"connect
successful!!"<<endl;
}
if(mysql_select_db(pdata,"gamerdata"))
{
cout<<"select_db
successful!!"<<endl;
}
//然后选择数据库了,当然用sql一样,函数看着方便点
sprintf(sqlcommand,"select * from
gamerdata");
mysql_query(pdata,sqlcommand);
//这句干什么的不用我费唇舌了
result =
mysql_use_result(pdata);
//获取记录集
row = mysql_fetch_row(result);
//按数组方式把数据放到row中,当前行的
//看所有行加个循环就好,游标自己会跑,不劳大家费心。
cout<<row[1];
//可以输出了,大功告成
mysql_close(pdata);
//别忘了开灯,忘了关灯
}
相关文档:
一般赋予浮点列的值被四舍五入到这个列所指定的十进制数。如果在一个FLOAT(8, 1)的列中存储1. 2 3 4 5 6,则结果为1. 2。如果将相同的值存入FLOAT(8, 4) 的列中,则结果为1. 2 3 4 6。这表示应该定义具有足够位数的浮点列以便得到尽可能精确的值。如果想精确到千分之一,那就不要定义使该类 ......
Mysql Explain 详解
转自ITPUBhttp://www.itpub.net/viewthread.php?tid=1034410&extra=page%3D1%26amp%3Bfilter%3Ddigest&page=1
一.语法
explain < table_name >
例如: explain select * from t3 where id=3952602;
二.explain输出解释
+----+-------------+-------+-------+-------------------+--- ......
/***************************by
garcon1986********************************/
1.创建表格时错误: ERROR 1005: Can't
create table (errno: 150)
这个错误是有由于主表和引用表的外键关联字段定义不一致引发的。
检查两个表的关联字段是否类型编码完全一致。
另外还有一种可能就是关联字段在引用表中 ......