程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 如何在.NET中使用MySQL數據庫

如何在.NET中使用MySQL數據庫

編輯: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        /**//// 
16        /// 連接到MySql數據庫並返回連接對象
17        /// 

18        /// 數據庫連接對象
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}
  1. 專題:MySQL數據庫入門與精通教程
  2. 使用Ja.Net實現Java和.NET的完美互用
  3. 平台之爭 Java與.NET誰更有前途

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved