基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo)

一、三种数据库的主要对比

数据库类型

特点

Microsoft Access

桌面数据库、数据库载体是单个文件

Microsoft Sql Server

基于服务器端的中型的数据

MySql

跨平台,开源,价格便宜

关于三种数据库的详情,请参考本文:

三种数据库各有优缺点。就笔者目前的体会来说一下三种数据库的用途:

Access:数据库载体是单个*.mdb文件,而且可以用Microsoft Access以文档的方式打开,拥有良好的数据库构架,方便程序访问,一般用于小型的桌面应用程序的数据存储载体。

MS Sql Server:基于网络访问,比较适合选作为B/S,C/S程序的数据库。

MySql:其主要特点、用法和MS Sql Server比较类似,最大的优点就是开源,便宜。

总述:Access和MS Sql Server比较容易学习和入门,但是如果用作商业用途的时候,可以选用MySql,它们用法类似,但价格却区别很大。^_^

二、用C#实现对三种数据库的访问

访问数据库所需要的命名空间:

代码

usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;//DataSet等数据表usingSystem.Data.OleDb;//Access本地数据库usingSystem.Data.SqlClient;//Microsoft Sql Server数据库usingMySql.Data.MySqlClient;//MySql数据库访问--要先对MySql.Data.dll文件进行引用

2.1 对Access数据库文件*.mdb文件进行访问

代码

//得到*.mdb文件的相对路径//privatestaticstringGetFilePath()

{stringfilepath=AppDomain.CurrentDomain.BaseDirectory;intbinPos=filepath.IndexOf("bin");stringbinPath=filepath.Remove(binPos);returnbinPath;

}//本地数据库系统Microsoft Access 连接访问演示///要求:将ACCESS数据库文件*.mdb放到bin根目录下面///privatestaticvoidAccessDemo()

{stringstrBinPath=GetFilePath();//本地数据库文件的连接OleDbConnection aConnection=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+strBinPath+"bin\\first.mdb");stringselect="select * from libBooks";//数据库数据控件显示aConnection.Open();

OleDbDataAdapter da=newOleDbDataAdapter(select, aConnection);

DataSet ds=newDataSet();

da.Fill(ds,"图书馆");

DataTable dt=ds.Tables[0];//数据集的第0张表格}

2.2 对MsSql Server数据库进行访问

代码

//Microsoft Sql Server 连接访问演示(以访问本地数据库服务为例)///要求:在服务器上安装Microsoft Sql 2005///privatestaticvoidMsSqlDemo()

{try{stringsql="select * from Employees";//访问MySql数据库服务器所需要的登录信息:根据具体情况来定stringserverIP="127.0.0.1";//"127.0.0.1" = "localhost"stringuserID="sa";//访问数据库服务的用户名stringpassword="";//用户密码stringdataBaseName="Northwind";//要访问的数据库名称SqlConnection sqlConn=newSqlConnection("Server="+serverIP+";Uid="+userID+";Pwd="+password+";Database="+dataBaseName);

sqlConn.Open();

SqlDataAdapter mda=newSqlDataAdapter(sql, sqlConn);

DataSet ds=newDataSet();

mda.Fill(ds,"table1");

DataTable dt=ds.Tables[0];

sqlConn.Close();

}catch(SqlException se)

{

Console.WriteLine("Database operation errors :"+se.StackTrace);

}

}

2.3 对MySql数据库进行访问

代码

//开源数据库系统 MySql 连接访问演示(以访问本地数据库服务为例)///要求:在服务器上安装MySql数据库///privatestaticvoidMySqlDemo()

{try{stringsql="select * from help_keyword";//访问MySql数据库服务器所需要的登录信息:根据具体情况来定stringserverIP="127.0.0.1";//"127.0.0.1" = "localhost"stringuserID="root";//访问数据库服务的用户名stringpassword="z";//用户密码stringdataBaseName="mysql";//要访问的数据库名称MySqlConnection mySqlConn=newMySqlConnection("Server="+serverIP+";User Id="+userID+";Password="+password+";Persist Security Info=True;Database="+dataBaseName);

mySqlConn.Open();

MySqlDataAdapter mda=newMySqlDataAdapter(sql, mySqlConn);

DataSet ds=newDataSet();

mda.Fill(ds,"table1");

DataTable dt=ds.Tables[0];

mySqlConn.Close();

}catch(MySqlException se)

{

Console.WriteLine("Database operation errors :"+se.StackTrace);

}

}

通过上面对三种数据库的访问方式可以发现,访问数据库的流程基本上一样:

创建连接―>打开连接―>根据查询语句创建数据库适配器―>提取数据到DataSet中―>完成数据的访问并关闭连接

所不同的只是在函数名称的前缀上略作修改而已,所以三种数据库的操作程序很好移植。

2.4 更新数据库记录

因为三种数据库的操作流程基本类似,所以就以更新Access数据库文件为例,其余两种数据库类似。

代码

//以Access为例,向数据库中更新数据 方法演示///privatestaticvoidAccessInsertData()

{stringstrBinPath=GetFilePath();

OleDbConnection aConnection=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+strBinPath+"bin\\first.mdb");

aConnection.Open();//通过SQL查询语句,直接插入单条记录------直接对硬盘上的数据源进行操作。OleDbCommand command=newOleDbCommand("INSERT INTO libBooks VALUES('插入字段','Access数据库演示',2000,3000)", aConnection);

command.ExecuteNonQuery();

aConnection.Close();

}

ACCESS数据文件效果如图

关于附件的说明:

开发语言:C#

开发环境:VS2005

运行环境:.NET Framework 2.0

因为本演示程序涉及到数据库编程,用户除了要安装VS2005或者更高级的开发环境外,还需要安装必要的数据库平台:

Access:只要有*.mdb文件即可。当然如果要查看数据,最好还是安装Microsoft Access

MsSql Server:安装Microsoft Sql Server

MySql:安装MySql(可以到官网上下载免费版,不过是基于DOS的,然后再下载一个Navicat for MySQL可以实现可视化操作查看)

------------------------------------------------------------------

Email /Gtalk:dreamzsm@gmail.com

Notes:欢迎转贴,但请在页面中加个链接注明出处,就当是对作者的一点小鼓励吧^_^

Time:2010-7-27

c access mysql数据库_基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo)...相关推荐

  1. unity3d 模拟电脑实现_基于.Unity3D的三维虚拟电脑组装实验系统开发毕业设计(含源文件).doc...

    PAGE (此文档为word格式,下载后您可任意编辑修改!) 基于Unity3D三维电脑组装实验系统的实现 [摘要]实验教学不仅能够培养学生的动手能力,而且还能起到巩固课本上理论知识的作用.但是由于我 ...

  2. mysql数据库最后一步卡住了_[数据库]解决MySQL安装到最后一步未响应的三种方法...

    [数据库]解决MySQL安装到最后一步未响应的三种方法 0 2018-07-13 01:01:27 这种情况一般是你以前安装过MySQL数据库服务项被占用了. 解决方法: 方法一:安装MySQL的时候 ...

  3. MySQL、SqlServer、Oracle 三种数据库的优缺点总结

    MySQL.SqlServer.Oracle 三种数据库的优缺点总结 一.MySQL 二.SqlServer 三.Oracle 一.MySQL 优点: 体积小.速度快.总体拥有成本低,开源: 支持多种 ...

  4. qlserver、Mysql、Oracle三种数据库的优缺点总结

    这篇文章主要介绍了sqlserver.Mysql.Oracle三种数据库的优缺点总结,需要的朋友可以参考下 一.sqlserver 优点: 易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能 ...

  5. sql 单引号_三种数据库的 SQL 注入详解

    SQL 注入原理 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用 ...

  6. MySQL(一):分别基于mysqldump、lvm2、xtrabackup三种方式实现备份恢复

    分别基于mysqldump.lvm2.xtrabackup三种方式实现MySQL备份恢复 一.利用mysqldump实施逻辑备份操作 1.在/etc/my.cnf中添加如下,开启二进制日志 innod ...

  7. php调用mysql库_PHP调用三种数据库的方法(1)

    PHP调用三种数据库的方法(1) 更新时间:2006年10月09日 00:00:00   作者: MySQL是一个小巧灵珑的数据库服务器软件,对于中.小型应用系统是非常理想的.除了支持标准的ANSI ...

  8. Mysql Oracle Sql server 三种数据库默认端口

    ** Mysql Oracle Sql server 三种数据库默认端口 ** SQL Server默认端口号为:1433 URL:"jdbc:microsoft:SQL Server:// ...

  9. 基于宝塔面板的三种数据库备份方式(服务器备份,云备份,本地备份)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 基于宝塔面板的三种数据库备份方式(服务器备份,云备份,本地备份) 前言 前天也就是10月20号的时候,去河南郑州参加了第八届IHCN中 ...

最新文章

  1. 操作系统原理第二章:操作系统结构
  2. 【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
  3. 单行文字压缩处理(要指定字体)
  4. Python爬虫入门(6):Cookie的使用
  5. Java Date 日期 时间 相关方法
  6. Cpp 对象模型探索 / new 对象时加括号和不加括号时的差别
  7. 【Java代码】使用双冒号 :: 简洁代码及方法引用(静态方法+构造方法+实例方法+函数式编程举例)
  8. 使用ASP.NET Core 实现Docker的HealthCheck指令
  9. 在 Vs2013中查看类的内部布局
  10. Python简洁的出入库系统(模块化)
  11. 关于富士通 T5220服务器故障处理
  12. matlab para for,matlab并行之parafor
  13. fckeditor java_FCKeditor.Java 源代码下载
  14. 无线通信与编码_MATLAB仿真实现Jakes信道模型_含仿真代码_瑞利衰落信道模型
  15. Hive sql 行列转换(行转列,列转行)
  16. linux那些事之页迁移(page migratiom)
  17. 3D游戏:七、模型与动画
  18. 嵌入式系统的开发概述(三星s5p6818系统为例)
  19. 获取本机号码及sim卡信息
  20. Python3.6+Twisted+Scrapy安装

热门文章

  1. Linux 命令(93)—— updatedb 命令
  2. ADO 动态链接数据库
  3. CodeFores 665D Simple Subset(贪心)
  4. Encoding非常用编码转换
  5. System.Management.ManagementException: 访问遭到拒绝的解决方案
  6. Linux之文件属性详解
  7. 算法笔记_167:算法提高 矩阵翻转(Java)
  8. Centos7 下配置mysql5.6主从复制实例(一主两从)
  9. Debug模式启动tomcat超时
  10. C#序列化与反序列化方式简单总结