文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>在.NET中使用MySql数据库

在.NET中使用MySql数据库

时间:2009-02-06  来源:h0ng123

在.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将其引用到你的项目中
500)this.width=500;" border=0> 步骤三:编码我就不多说了,我编写了一个控制台的示例,并将重要的部分都添加了注释,代码如下:
/**//**
 * 程序名称:使用.NET连接MySql数据库
 * 作者:吴磊
 * 日期:2009年01月17日
 */
// 使用MySql.Data.MySqlClient命名空间
using System;
using MySql.Data.MySqlClient;
namespace Project_Personnel.db
{
    class dbManage
    {
        /**//// <summary>
        /// 连接到MySql数据库并返回连接对象
        /// </summary>
        /// <returns>数据库连接对象</returns>
        private static MySqlConnection getCon()
        {
            MySqlConnection myCon = null;
            try
            {
                /**//*
                 * Server:数据库服务器。localhost表示本机
                 * Database:数据库名称。school表示mySql中一个名为school的数据库
                 * Uid:用户名
                 * Pwd:密码
                 * CharSet:使用的字符编码。不设置可能产生乱码
                 */
                myCon = new MySqlConnection("Server=localhost;Database=school;Uid=root;Pwd=123;CharSet=utf8;");
                myCon.Open();
           }
            catch (MySqlException e)
            {
                //抛出连接MySql数据库的异常
                throw new Exception(e.Message);
            }
            return myCon;
        }
       public static void Main()
        {
            try
            {
                //从shool表中检索数据的sql语句(别误会,我是在school数据库中建立了一个school表)
                MySqlCommand myCmd = new MySqlCommand("select * from school", getCon());
              
                //执行检索语句并将执行结果赋值给MySqlDataReader对象
                MySqlDataReader myReader = myCmd.ExecuteReader();
                //进行读取
                while (myReader.Read())
                {
                    //myReader的FieldCount属性表示列数
                    for (int i = 0; i < myReader.FieldCount; i++)
                    {
                        /**//*
                         * 提示:如果使用此if语句,会产生异常:数据为空,不能对空值调用此方法或属性。
                         * 判断索引为i的列中的值是否为空,如果为空输出NULL
                         */
                        if (!myReader[i].Equals(DBNull.Value))
                        {
                           Console.Write("{0,10}", myReader[i]);
                        }
                        else
                        {
                            Console.Write("{0,10}", "Null");
                        }
                    }
                    //换行
                    Console.WriteLine();
                }
            }
            //捕获MySql异常
            catch (MySqlException e)
            {
                Console.WriteLine(e.Message);
            }
            //捕获其他异常
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                Console.ReadKey();
            }
        }
    }
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载