vc mysql 图片_VC连接MySQL

一、MySQL的安装

可以考虑安装mysql-5.0.41-win32(可到http://www.newhua.com/soft/3573.htm处下载),当然你有更新的版本更好,注意选择“完全安装”(只有这样才会安装VC编译时需要的头文件等)。安装后期会进行服务器配置,你可以设置你的服务器登陆密码,也可以不设置密码。

paragraph.gif二、VC6.0的设置

(1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。(我的是D:\Program Files\MySQL\MySQL Server 5.0\include)。

(2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。Lib目录下还有debug和opt两个目录,建议选debug。(我的是D:\Program Files\MySQL\MySQL Server 5.0\lib\debug)。

(3)在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。

(4)在stdafx.h里面添加如下的内容:

#include "mysql.h"

#include "winsock.h" // 如果编译出错,则把该行放到#include "mysql.h"之前#pragma comment(lib,"libmySQL.lib")// 如果在附加依赖项里已增加,则就不要添加了

(5)建议将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下。

paragraph.gif三、数据库、表的创建

打开“开始->所有程序->MySQL->MySQL Server 5.0->MySQL Command Line Client.exe”,如果没有设置密码就直接按回车,会提示服务器启动成功。

mysql> SHOW DATABASES;//显示所有的数据库,注意一定要 敲“;”后再按回车

mysql> CREATE DATABASE mydb;//创建数据库mydb

mysql> USE mydb;//选择你所创建的数据库mydb

mysql> SHOW TABLES; //显示数据库中的表

mysql> CREATE TABLE mytable (username VARCHAR(100), visitelist VARCHAR(200), remark VARCHAR(200));//创建一个表mytable: 用户名;访问列表;备注

mysql> DESCRIBE mytable;//显示表的结构

paragraph.gif四、VC编程

MYSQL mysql; //数据库连接句柄

mysql_init (&mysql);

if(!mysql_real_connect(&mysql,"localhost","root",NULL,"mydb",3306,NULL,0)) {//mydb为你所创建的数据库,3306为端口号,可自行设定

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

return FALSE;

}

(1)实现添加 功能

CString strUsername,strList,strRemark,strSQL;

strSQL.Format("insert into mytable(username,visitelist,remark) values(\'%s\',\'%s\',\'%s\')", strUsername,strList,strRemark);//注意一定要写在一行,而且必须要有\'\'

if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0){

AfxMessageBox("增添失败");

}

(2)实现修改功能

CString strUsername,strList,strRemark,strSQL,str_PreName;//str_PreName用于记录想要修改的行,详情请看源代码

strSQL.Format("update mytable set username=\'%s\',visitelist=\'%s\', remark=\'%s\' where username=\'%s\'",strUsername,strList,strRemark,str_PreName);

if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0){

AfxMessageBox("修改失败");

}

(3)实现删除功能

CString strSQL;

strSQL.Format("delete from mytable where username=\'%s\'",str_PreName);//必须要有\'\'

if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0){

AfxMessageBox("删除失败");

}

(4)读取表格内容到CListCtrl控件m_list

m_list.DeleteAllItems();

char *ch_query;

ch_query="select * from mytable";

if(mysql_real_query(&mysql,ch_query,(UINT)strlen(ch_query))!=0){

AfxMessageBox("数据库中表格出错");

}

CString str;

MYSQL_RES *result;

MYSQL_ROW row;

if(!(result=mysql_use_result(&mysql))){

AfxMessageBox("读取数据集失败");

}

int i=0;

while(row=mysql_fetch_row(result)){

str.Format("%s",row[0]);

m_list.InsertItem(i,str);

str.Format("%s",row[1]);

m_list.SetItemText(i,1,str);

str.Format("%s",row[2]);

m_list.SetItemText(i,2,str);

i++;

}

mysql_free_result(result);

(5)关闭数据库

mysql_close(&mysql);//最好写到OnDestroy()函数中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

魔兽巨龙追猎者服务器微信群,魔兽世界:难怪现在“龙脊”价格低,掉落率提升,群里一天出几个...

祥子哥最近几天一直在练猎人号,目前已经67级了,再过两三天差不多就能满级了。知道祥子哥为什么练猎人吗?不全是因为猎人伤害高玩着爽,还有另一个原因,那就是“龙脊奖章”现在价格很便宜,祥子哥使把劲应该能…

mysql group原理_MySQL Group By 实现原理分析

【IT168 专稿】由于 GROUP BY 实际上也同样会进行排序操作,而且与 ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作。当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在…

使用AWS Lambda的CloudWatch事件通知

CloudWatchEvents的主要用例是跟踪整个AWS基础架构中的更改。 当前,它支持在Auto Scaling组,EC2,EBS和其他各种事件中发出的事件。 为了对这些事件进行有意义的处理,我们需要一种消耗它们的方法。 AWS使用术语“ targets来指代任何…

r语言 中断r的输入_R语言_004数据输入

现实的情况是,我们大部分遇到的都是表格数据,在R语言里面叫数据框,数据来源一般不可能我们自己在程序开始前手动录入,正常的逻辑是从外面读取现成的数据,再预处理、建模什么的。根据经验,现在的数据来源主要…

我的机器人现在无处可去。 无家可归。 无服务器。

我通常会关注各种网站-有关最新出版物,热门新优惠,限时游戏和竞赛等。 其中大多数不提供“干净”的通知系统,例如RSS feed。 因此,我经常不得不刮擦他们HTML才能达到我所需要的。 这意味着我经常需要运行一些自定义的字符串操作…

dubbo 消费者也要暴露端口吗_一文详细解读 Dubbo 中的 http 协议

(给ImportNew加星标,提高Java技能)转自:Kirito的技术分享,作者:kiritomoe太阳红彤彤,花儿五颜六色,各位读者朋友好,又来到了分享 Dubbo 知识点的时候了。说到 Dubbo 框架支持的协议,…

非一致性访存系统_Hibernate事实:访存策略的重要性

非一致性访存系统在使用ORM工具时,每个人都承认数据库设计和实体到表映射的重要性。 这些方面引起了很多关注,而诸如获取策略之类的事情可能只是推迟了。 我认为,不应将实体获取策略与实体映射设计分开,因为除非经过适当设计&…

应用新的JDK 11字符串方法

在“ 使用JDK 11的Java字符串上的新方法 ”和“ String#repeat即将加入Java? ”,我讨论了JDK 11引入Java String的六个新方法。 可用的早期访问JDK 11构建已经包含了这些新方法,在这篇文章中,我将使用其中的一种早期访…

为什么需要切换到在线签署文档和合同

嘿,怪胎, 今天,我们为您带来一些不同。 无论您是开发人员,经理还是设计师,这都会提高您的生产力和效率。 对于公司和个人而言,良好地管理文书工作是强大基础的最重要部分之一。 将工作流程从纸质转移到数…

github怎么自动更新被人更新过的项目_GitHub 的这 8 个实用技巧,95%的人不知道...

知道的越多,不知道的就越多,业余的像一棵小草!编辑:业余草来源:https://www.xttblog.com/?p49881、一秒钟把Github项目变成前端网站GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages…

java 注解 属性 类型_收藏!你一定要知道的Java8中的注解

全文共3002字,预计学习时长6分钟海中有大量的注解!JavaSE 1.5中首次引入了注解。Java注解的目的是允许程序员编写关于其程序的元数据。在OracleDocs中,注解的定义是:“注解是元数据的一种形式,它提供的数据与程序本身无关。”注解可以在代码的…

camel 多个 to_具有多个查询参数的Camel CXF服务

camel 多个 to出色的Apache Camel团队忙于解决查询中多个参数的处理问题,这是一种解决方法。 希望本文将在下一版本的Camel中不再使用。 (目前,我使用2.7.5) 问题 大于1的查询参数作为null值传递给Camel-CXF服务。 假设网址中有四…

select * from where 三个条件_VBA学习笔记70: Select语句基础

学习资源:《Excel VBA从入门到进阶》第72集 by兰色幻想 这节课来详细讲解Select语句。 Select 字段 from 表 where 条件 例:从sheet1中筛选全部数据。 * 表示全部字符,无条件可以省略where。 Select * from [sheet1$] 如果是对表中特定单元格区域进行查找,可以在[sheet1$]的…

使用Servlet和Bootstrap上传Ajax文件

介绍 在本教程中,我们将检查Ajax文件上传如何与Servlet一起使用。 同样,我们将用Bootstrap装饰表单并通过jQuery Ajax上传ajaxify文件。 实作 基本的servlet实现是相同的。 因此,我们需要做的第一件事是更新我们的web.xml文件并为我们的应用…

linux文件系统dentry_Linux文件系统(四)---三大缓冲区之inode缓冲区 (内存inode映像 )...

在文件系统中,有三大缓冲为了提升效率:inode缓冲区、dentry缓冲区、块缓冲。(内核:2.4.37)一、inode缓冲区为了加快对索引节点的索引,引入inode缓冲区,下面我们看Linux/fs/inode.c代码。inode缓冲区代码1、一些数据结构…

使用这些先进的GC技术提高应用程序性能

应用程序性能是我们的首要考虑因素,垃圾收集优化是取得小而有意义的进步的好地方 自动化垃圾收集(与JIT HotSpot编译器一起)是JVM中最先进,最有价值的组件之一,但是许多开发人员和工程师对垃圾收集(GC&a…

mysql中lead_SqlServer2012中LEAD函数简单分析_MySQL

LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本DECLARE TestData TABLE(ID INT IDENTITY(1,1),Department VARCHAR(20),LastName VARCHAR(20),Rate FLOAT)INSERT INTO TestData(Department,L…

堆栈溢出回答了我们不知道的Java首要问题

您不应该错过的堆栈溢出问题集合: 这不是秘密; 我们都使用堆栈溢出。 它掌握了生命,宇宙以及几乎所有与代码相关的内容的答案。 该平台为开发人员,工程师和其他人员提供了一个找到他们所面临问题的答案的地方,或者至少…

sequelize连接mysql_node.js通过Sequelize 连接MySQL

node.js通过Sequelize 连接MySQL一.通过koa2脚手架构建项目1.1 安装koa-generator在终端输入:$ npm install -g koa-generator11.2 使用koa-generator生成koa2项目$ koa2 HelloKoa21成功创建项目后,进入项目目录,并执行npm install命令$ cd H…

杀java_java怎么杀掉java进程

展开全部java中有调用外部程序的e69da5e887aa62616964757a686964616f31333337623431类,Runtime.getRuntime().exec("./**.exe");此函数返回的是一个Process 对象,该对象在创建后,可以对它进行 destroy () 杀掉子进程、 waitFor () …