zoukankan      html  css  js  c++  java
  • 在.NET中使用MySql数据库

    在.NET中使用Sql Server是一直的事情。前几天学习通过JDBC使用Java连接MySql数据库,我就想.NET是否同样可以使用MySql数据库呢?答案是肯定的,方法也很简单,在这里我使用C#作为编程语言,将自己整理出来的方法同大家一起分享。

    欲在.NET中使用MySql数据库,其步骤是:
    1. 下载MySql驱动包
    2. 引用驱动包中已经编译好的MySql类组件
    3. 编写代码

    步骤一:下载MySql驱动包
    在我写篇文章的时候,最新的驱动包是5.2,支持Visual Studio 2008。官方下载地址是http://dev.mysql.com/downloads/connector/net/5.2.html

    步骤二:
    下载的文件是一个压缩文件,将其解压缩到本地磁盘。找到bin文件夹中的MySql.Data.dll文件,这个就是我们要引用的组件。通过Visual Studio将其引用到你的项目中

    步骤三:编码我就不多说了,我编写了一个控制台的示例,并将重要的部分都添加了注释,代码如下:

     1/**
     2 * 程序名称:使用.NET连接MySql数据库
     3 * 作者:吴磊
     4 * 日期:2009年01月17日
     5 */

     6
     7// 使用MySql.Data.MySqlClient命名空间
     8using System;
     9using MySql.Data.MySqlClient;
    10
    11namespace Project_Personnel.db
    12{
    13    class dbManage
    14    {
    15        /// <summary>
    16        /// 连接到MySql数据库并返回连接对象
    17        /// </summary>
    18        /// <returns>数据库连接对象</returns>

    19        private static MySqlConnection getCon()
    20        {
    21            MySqlConnection myCon = null;
    22            try
    23            {
    24                /*
    25                 * Server:数据库服务器。localhost表示本机
    26                 * Database:数据库名称。school表示mySql中一个名为school的数据库
    27                 * Uid:用户名
    28                 * Pwd:密码
    29                 * CharSet:使用的字符编码。不设置可能产生乱码
    30                 */

    31                myCon = new MySqlConnection("Server=localhost;Database=school;Uid=root;Pwd=123;CharSet=utf8;");
    32                myCon.Open();
    33            }

    34            catch (MySqlException e)
    35            {
    36                //抛出连接MySql数据库的异常
    37                throw new Exception(e.Message);
    38            }

    39            return myCon;
    40        }

    41
    42        public static void Main()
    43        {
    44            try
    45            {
    46                //从shool表中检索数据的sql语句(别误会,我是在school数据库中建立了一个school表)
    47                MySqlCommand myCmd = new MySqlCommand("select * from school", getCon());
    48               
    49                //执行检索语句并将执行结果赋值给MySqlDataReader对象
    50                MySqlDataReader myReader = myCmd.ExecuteReader();
    51
    52                //进行读取
    53                while (myReader.Read())
    54                {
    55                    //myReader的FieldCount属性表示列数
    56                    for (int i = 0; i < myReader.FieldCount; i++)
    57                    {
    58                        /*
    59                         * 提示:如果使用此if语句,会产生异常:数据为空,不能对空值调用此方法或属性。
    60                         * 判断索引为i的列中的值是否为空,如果为空输出NULL
    61                         */

    62                        if (!myReader[i].Equals(DBNull.Value))
    63                        {
    64                            Console.Write("{0,10}", myReader[i]);
    65                        }

    66                        else
    67                        {
    68                            Console.Write("{0,10}""Null");
    69                        }

    70                    }

    71                    //换行
    72                    Console.WriteLine();
    73                }

    74            }

    75            //捕获MySql异常
    76            catch (MySqlException e)
    77            {
    78                Console.WriteLine(e.Message);
    79            }

    80            //捕获其他异常
    81            catch (Exception e)
    82            {
    83                Console.WriteLine(e.Message);
    84            }

    85            finally
    86            {
    87                Console.ReadKey();
    88            }

    89        }

    90    }

    91}



  • 相关阅读:
    ROS 学习遇到的问题记录(持续更新)
    09.07 jQuery 随意整理
    JavaScript 随意整理3
    JavaScript 随意整理2
    css 随意整理 08.08
    html 随意整理
    vue day2
    vue day1
    【copy】必备之常用正则表达式 By 其他博主
    note.js 笔记第二课
  • 原文地址:https://www.cnblogs.com/iPeterRex/p/1377625.html
Copyright © 2011-2022 走看看