自己写的一个操作Mysql的简单的实例
#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的简单的实例的更多相关文章
- [node.js学习]为node.js写的一个操作mysql的类
不支持一个对象在不同异步中使用,模仿的php框架 speedphp中的model模块 GaryMysql.js var mysql = require('mysql'); var pool = nul ...
- php类模块引擎PDO操作MySQL数据库简单阐述
PDO是什么呢? 通俗说就是别人写的一个“数据库操作工具类”,它非常强大,可以应对市面上几乎所有主流数据库, 具体应用时候有这样一个关系: 即,要操作某种数据,就得去“打开”对应的pdo引擎. 在ph ...
- eclipse环境下,java操作MySQL的简单演示
首先先通过power shell 进入MySQL 查看现在数据库的状态(博主是win10系统) 右键开始,选择Windows powershell ,输入MySQL -u用户名 -p密码 选择数据库( ...
- Node.js操作Mysql的简单示例
API的封装:封装为系统可用的工具,分为线上和线上的数据库. 使用:让API直接操作数据库,不再使用假数据. DEMO代码: const mysql = require('mysql'); // 创建 ...
- PHP+mysql数据库简单分页实例-sql分页
前几天冷月写了一篇博文<php基础编程-php连接mysql数据库-mysqli的简单使用>,很多小伙伴在学习后都知道了php与mysql数据库的连接,今天冷月分享一个简单的分页实例 首先 ...
- php操作mysql的基础链接实例
- C#操作mysql数据库,往mysql读取或者写入数据
最近在开发的一个项目,需要将数据存贮在mysql数据库中,于是需要写一个操作mysql的帮助类,我采用的是官方的,还是先给出一个链接,后面有时间的话,继续更新. http://blog.csdn.ne ...
- Python3操作MySQL基于PyMySQL封装的类
Python3操作MySQL基于PyMySQL封装的类 在未使用操作数据库的框架开发项目的时候,我们需要自己处理数据库连接问题,今天在做一个Python的演示项目,写一个操作MySQL数据库的类, ...
- TypeScript封装统一操作Mysql Mongodb Mssql的底层类库demo
/* 功能:定义一个操作数据库的库 支持 Mysql Mssql MongoDb 要求1:Mysql MsSql MongoDb功能一样 都有 add update delete get方法 注意:约 ...
随机推荐
- 空格在Html中的表示方法( 含义)
转自:http://www.cnblogs.com/hailexuexi/archive/2010/07/25/1784611.html 在web开发经常会遇到如: 这样的字符.它其实是Html将 ...
- IOS学习笔记45--UITableView性能优化
说实话,面试的时候已经被问到几次这个问题,然后就搜索了一下,看到了这篇优化文章,感觉不错,转来日后作为一种UITableView优化的方法. 使用不透明视图. 不透明的视图可以极大地提高渲染 ...
- UIScrollView 图片循环滚动
1:假如有6个图片:那个,Scrollview的大小加 7 个图片的大小 2: //ImageScrollView; UIScrollView *imageScroll = [[UIScrollVie ...
- js条件语句之职责链数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Hibernate(三)结构-配置文件-实体映射及配置文件
一.体系结构 SessionFactory:属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照.Session的工厂.有可能持有一个可选的数据缓存可以进程级别或者群级别保存可以在事务中 ...
- PyQt5教程——第一个程序(2)
用PyQt5写的第一个程序 在这篇PyQt5教程中,我们可以学习一些PyQt5的基础应用. 简单的例子 这是一个显示一个小窗口的简单例子.我们可以做许多这样的窗口.我们可以调整它的窗口尺寸,最大化或最 ...
- C语言的角落——C之很常使用特性(一)
本文搜集整理了一些之前博客中没有提到的,C语言不经常使用的特性,算是对C系列的最后一次补充. 对C语言有兴趣的朋友能够浏览一下,查漏补缺. 变长參数列表 <stdarg.h> 头文件定义了 ...
- J2EE项目集成SAP的BO报表
网上的方案: 每个用户在自己的J2EE系统的用户登陆的同时登陆bo系统,这做法的缺点是登陆bo速度慢,而且如果J2EE用户比较多的话会在bo服务器生成很多的token. 最佳方案(自己研究): 1.调 ...
- 23、java 通过System.getProperties()获取系统参数
1.java的System.getProperty()方法可以获取的值 java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor. ...
- pat1040:有几个PAT
https://www.patest.cn/contests/pat-b-practise/1040 #include "stdio.h" int main() { int p = ...