#include <WinSock.h>

#include <stdio.h>

#include <iostream>

#include <windows.h>

#include "include/mysql.h"

#pragma comment(lib,"libmySQL.lib")

using namespace std;

int main()

{

int ret;

char column[32][32];

char datatable[255];

MYSQL MysqlTemp;

MYSQL_RES * result;

MYSQL_FIELD *fd;

MYSQL_ROW sql_row;

/***************************************初始化数据库******************************/

mysql_init(&MysqlTemp);

/***************************************链接数据库******************************/

if(!mysql_real_connect(&MysqlTemp,"localhost","root","123456","test",3306,NULL,0))

{   //printf("Mysql conect fail!");

//AfxMessageBox(_T("数据库连接失败!"));

MessageBox(NULL,"数据库连接失败!","消息",MB_OK);

mysql_close(&MysqlTemp);

return -1;

}

/***************************************选定数据库******************************/

if(mysql_select_db(&MysqlTemp,"test"))

{

MessageBox(NULL,"选择数据库失败!","消息",MB_OK);

return -1;

}

/***************************************创建数据库******************************/

//sprintf(datatable,"CREATE database temp2;");

//mysql_query(&MysqlTemp,datatable);//查询

/***************************************选定数据库******************************/

////sprintf(datatable,"use temp2;");

////mysql_query(&MysqlTemp,datatable);//查询

/***************************************选定数据库 功能同上******************************/

//if(mysql_select_db(&MysqlTemp,"temp2"))

//{

// MessageBox(NULL,"选择数据库失败!","消息",MB_OK);

// return -1;

//}

/***************************************在数据库新建数据表******************************/

sprintf(datatable,"create table if not exists MyClass(id int(4) NOT NULL  auto_increment,\

name char(20) NOT NULL,\

sex int(4) NOT NULL default '0',\

degree int(4),\

PRIMARY KEY(id))ENGINE=InnoDB;");

mysql_query(&MysqlTemp,datatable);

if(mysql_errno(&MysqlTemp)==1050)//查询

{

MessageBox(NULL,"数据表已存在!","消息",MB_OK);

return -1;

}

//memset(datatable,0,255);

/***************************************在表中插入数据******************************/

sprintf(datatable,"insert into MyClass values(7,'Tom',96,89),(8,'Jame',44,67),(9,'Honey',32,12);");

if(mysql_query(&MysqlTemp,datatable))//查询

{

MessageBox(NULL,"插入数据失败!","消息",MB_OK);    return -1;

}

sprintf(datatable,"SELECT * FROM MyClass;");

ret =  mysql_query(&MysqlTemp,datatable);

if (!ret)

{

result = mysql_store_result(&MysqlTemp);

if (result)

{

int i,j;

cout<<"**************************数据表操作结果**********************"<<endl;

//获取具体的查询结果的列名,如果没有指定字段偏移量,则下一个尚未被 mysql_fetch_field() 取得的字段被提取。

for(i=0;fd = mysql_fetch_field(result);i++)

{

strcpy(column[i],fd->name);

}

//获取具体的查询结果的列数

j = mysql_num_fields(result);

for(i=0;i<j;i++)

{

printf("%s\t",column[i]);

}

printf("\n");

//获取具体的查询结果的行,检索一个结果集合的下一行

while (sql_row = mysql_fetch_row(result))

{

for (i=0;i<j;i++)

{

printf("%s\t",sql_row[i]);

}

printf("\n");

}

}

}

return 0;

}

自己写的一个操作Mysql的简单的实例的更多相关文章

  1. [node.js学习]为node.js写的一个操作mysql的类

    不支持一个对象在不同异步中使用,模仿的php框架 speedphp中的model模块 GaryMysql.js var mysql = require('mysql'); var pool = nul ...

  2. php类模块引擎PDO操作MySQL数据库简单阐述

    PDO是什么呢? 通俗说就是别人写的一个“数据库操作工具类”,它非常强大,可以应对市面上几乎所有主流数据库, 具体应用时候有这样一个关系: 即,要操作某种数据,就得去“打开”对应的pdo引擎. 在ph ...

  3. eclipse环境下,java操作MySQL的简单演示

    首先先通过power shell 进入MySQL 查看现在数据库的状态(博主是win10系统) 右键开始,选择Windows powershell ,输入MySQL -u用户名 -p密码 选择数据库( ...

  4. Node.js操作Mysql的简单示例

    API的封装:封装为系统可用的工具,分为线上和线上的数据库. 使用:让API直接操作数据库,不再使用假数据. DEMO代码: const mysql = require('mysql'); // 创建 ...

  5. PHP+mysql数据库简单分页实例-sql分页

    前几天冷月写了一篇博文<php基础编程-php连接mysql数据库-mysqli的简单使用>,很多小伙伴在学习后都知道了php与mysql数据库的连接,今天冷月分享一个简单的分页实例 首先 ...

  6. php操作mysql的基础链接实例

  7. C#操作mysql数据库,往mysql读取或者写入数据

    最近在开发的一个项目,需要将数据存贮在mysql数据库中,于是需要写一个操作mysql的帮助类,我采用的是官方的,还是先给出一个链接,后面有时间的话,继续更新. http://blog.csdn.ne ...

  8. Python3操作MySQL基于PyMySQL封装的类

    Python3操作MySQL基于PyMySQL封装的类   在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...

  9. TypeScript封装统一操作Mysql Mongodb Mssql的底层类库demo

    /* 功能:定义一个操作数据库的库 支持 Mysql Mssql MongoDb 要求1:Mysql MsSql MongoDb功能一样 都有 add update delete get方法 注意:约 ...

随机推荐

  1. 【Nodejs】理想论坛帖子爬虫1.02

    在1.01版本中,我发现各回调函数找到数据后再插入数据库有个竞争问题不好解决,如果等所有回调都完成也没有好的处理方法,因为启动不止一处启动了新的TopicSpider实例. 于是我决定把读数据和写DB ...

  2. Discuz常见大问题-如何开启和使用首页四格

    在论坛-首页四格中,勾选开启首页四格,然后可以选择数据来源的板块 注意首页四格刷新是有时间的,5分钟左右,不是你这里更新完了帖子那里就有了(如果你自己建的网站,可能回复和热帖都还没有) 当然你也可以使 ...

  3. 在网页浏览器中原生显示PDF文件

    在网页中直接显示pdf格式的文件方便阅读.但是如果文件较大加载速度会很慢,另外如果客户端没有安装pdf阅读插件的话,也就看不了了. 这种方式的好处就是不需要转换,直接显示,而且在加载时(高级的浏览器, ...

  4. WPF使用DEV之TreeListControl---加入复选框

    1.绑定的Class中加入一个Bool类型的属性 2.   该属性无需初始赋值,你执行就可以看到如图: Bool类型数据自己主动变成了复选框 watermark/2/text/aHR0cDovL2Js ...

  5. JVM中类的卸载机制

    类的生命周期 当Sample类被载入.连接和初始化后,它的生命周期就開始了. 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期.Sample类在方法区内的数 ...

  6. Windows 10 Pro_Ent Insider Preview x86 x64 10147中文版激活

    点击激活windows输入密钥:CC6JP-VN67C-8KCJ4-4V48V-HXM9B然后下载附件中的程序解压后运行注销即可激活企业版:在专业版基础上输入升级密钥:CKFK9-QNGF2-D34F ...

  7. OpenERP的短信(SMS)接口

    今天测试了一下OpenERP的短信(SMS)接口. 在OpenERP的Partner界面上,WebClient的右边的工具条有个“send sms”的按钮.OpenERP中发短信用的是短信的Web接口 ...

  8. 在Html.ActionLink中运用二维判断语句

    @Html.ActionLink("公告信息", "notice", "article", null, new { @class = Vie ...

  9. 科学计算法帮助类MathUtils

    import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; /** * 科学计算 ...

  10. log4j 日志 配置 学习

    1.用的flume-log4j  avrosource的整合 2.学习如何指定类打印日志 #log4j.rootLogger=INFO,flume 这个是将全部的日志会打印出来 log4j.logge ...