自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在.NET中使用MySQL數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù) MySQL 后端
本文作者與大家分享了在.NET平臺(tái)使用MySQL數(shù)據(jù)庫(kù)的經(jīng)驗(yàn),在.NET平臺(tái)中使用MySQL數(shù)據(jù)庫(kù)需要下載一個(gè)MySQL驅(qū)動(dòng)包,并將組件引入的VS中,然后編寫(xiě)一個(gè)控制臺(tái)程序。

在.NET中一直使用Sql Server做數(shù)據(jù)庫(kù)。前幾天學(xué)習(xí)通過(guò)JDBC使用Java連接MySql數(shù)據(jù)庫(kù),我就想.NET是否同樣可以使用MySql數(shù)據(jù)庫(kù)呢?答案是肯定的,方法也很簡(jiǎn)單,在這里我使用C#作為編程語(yǔ)言,將自己整理出來(lái)的方法同大家一起分享。

欲在.NET中使用MySql數(shù)據(jù)庫(kù),其步驟是:

1. 下載MySql驅(qū)動(dòng)包
2. 引用驅(qū)動(dòng)包中已經(jīng)編譯好的MySql類組件
3. 編寫(xiě)代碼

步驟一:下載MySql驅(qū)動(dòng)包

在我寫(xiě)篇文章的時(shí)候,***的驅(qū)動(dòng)包是5.2,支持Visual Studio 2008。官方下載地址是http://dev.mysql.com/downloads/connector/net/5.2.html

步驟二:引入組件

下載的文件是一個(gè)壓縮文件,將其解壓縮到本地磁盤(pán)。找到bin文件夾中的MySql.Data.dll文件,這個(gè)就是我們要引用的組件。通過(guò)Visual Studio將其引用到你的項(xiàng)目中

步驟三:編碼,我編寫(xiě)了一個(gè)控制臺(tái)的示例,并將重要的部分都添加了注釋,代碼如下:

1[[228]][[229]]/**
 2[[230]] * 程序名稱:使用.NET連接MySql數(shù)據(jù)庫(kù)
 3[[230]] * 作者:吳磊
 4[[230]] * 日期:2009年01月17日
 5[[231]] */

 6[[232]]
 7[[232]]// 使用MySql.Data.MySqlClient命名空間
 8[[232]]using System;
 9[[232]]using MySql.Data.MySqlClient;
10[[232]]
11[[232]]namespace Project_Personnel.db
12[[228]][[229]]{
13[[230]]    class dbManage
14[[234]][[235]]    {
15[[234]][[235]]        /// 
16[[230]]        /// 連接到MySql數(shù)據(jù)庫(kù)并返回連接對(duì)象
17[[230]]        /// 

18[[236]]        /// 數(shù)據(jù)庫(kù)連接對(duì)象

19[[230]]        private static MySqlConnection getCon()
20[[234]][[235]]        {
21[[230]]            MySqlConnection myCon = null;
22[[230]]            try
23[[234]][[235]]            {
24[[234]][[235]]                /*
25[[230]]                 * Server:數(shù)據(jù)庫(kù)服務(wù)器。localhost表示本機(jī)
26[[230]]                 * Database:數(shù)據(jù)庫(kù)名稱。school表示mySql中一個(gè)名為school的數(shù)據(jù)庫(kù)
27[[230]]                 * Uid:用戶名
28[[230]]                 * Pwd:密碼
29[[230]]                 * CharSet:使用的字符編碼。不設(shè)置可能產(chǎn)生亂碼
30[[236]]                 */

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

34[[230]]            catch (MySqlException e)
35[[234]][[235]]            {
36[[230]]                //拋出連接MySql數(shù)據(jù)庫(kù)的異常
37[[230]]                throw new Exception(e.Message);
38[[236]]            }

39[[230]]            return myCon;
40[[236]]        }

41[[230]]
42[[230]]        public static void Main()
43[[234]][[235]]        {
44[[230]]            try
45[[234]][[235]]            {
46[[230]]                //從shool表中檢索數(shù)據(jù)的sql語(yǔ)句(別誤會(huì),我是在school數(shù)據(jù)庫(kù)中建立了一個(gè)school表)
47[[230]]                MySqlCommand myCmd = new MySqlCommand("select * from school", getCon());
48[[230]]               
49[[230]]                //執(zhí)行檢索語(yǔ)句并將執(zhí)行結(jié)果賦值給MySqlDataReader對(duì)象
50[[230]]                MySqlDataReader myReader = myCmd.ExecuteReader();
51[[230]]
52[[230]]                //進(jìn)行讀取
53[[230]]                while (myReader.Read())
54[[234]][[235]]                {
55[[230]]                    //myReader的FieldCount屬性表示列數(shù)
56[[230]]                    for (int i = 0; i < myReader.FieldCount; i++)
57[[234]][[235]]                    {
58[[234]][[235]]                        /*
59[[230]]                         * 提示:如果使用此if語(yǔ)句,會(huì)產(chǎn)生異常:數(shù)據(jù)為空,不能對(duì)空值調(diào)用此方法或?qū)傩浴?BR>60[[230]]                         * 判斷索引為i的列中的值是否為空,如果為空輸出NULL
61[[236]]                         */

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

66[[230]]                        else
67[[234]][[235]]                        {
68[[230]]                            Console.Write("{0,10}""Null");
69[[236]]                        }

70[[236]]                    }

71[[230]]                    //換行
72[[230]]                    Console.WriteLine();
73[[236]]                }

74[[236]]            }

75[[230]]            //捕獲MySql異常
76[[230]]            catch (MySqlException e)
77[[234]][[235]]            {
78[[230]]                Console.WriteLine(e.Message);
79[[236]]            }

80[[230]]            //捕獲其他異常
81[[230]]            catch (Exception e)
82[[234]][[235]]            {
83[[230]]                Console.WriteLine(e.Message);
84[[236]]            }

85[[230]]            finally
86[[234]][[235]]            {
87[[230]]                Console.ReadKey();
88[[236]]            }

89[[236]]        }

90[[236]]    }

91[[231]]}

【編輯推薦】

  1. 專題:MySQL數(shù)據(jù)庫(kù)入門與精通教程
  2. 使用Ja.Net實(shí)現(xiàn)Java和.NET的完美互用
  3. 平臺(tái)之爭(zhēng) Java與.NET誰(shuí)更有前途
責(zé)任編輯:佚名 來(lái)源: 吳磊的博客
相關(guān)推薦

2021-03-09 07:27:40

Kafka開(kāi)源分布式

2011-01-20 10:39:09

postfixmysql

2024-01-30 15:29:20

Django數(shù)據(jù)庫(kù)Python

2021-09-10 10:30:22

Java庫(kù)代碼

2023-12-01 09:18:27

AxiosAxios 庫(kù)

2009-10-26 12:47:38

VB.NET使用ORA

2009-03-30 10:34:03

ASP.NETMySQL

2021-02-06 21:40:13

SignalR通訊TypeScript

2021-03-17 09:45:31

LazyCacheWindows

2021-02-02 16:19:08

Serilog日志框架

2022-12-08 08:00:00

.NET?7BitArray數(shù)據(jù)執(zhí)行

2021-02-07 17:29:04

監(jiān)視文件接口

2021-01-07 07:39:07

工具接口 Swagger

2021-01-31 22:56:50

FromServiceASP

2021-02-03 13:35:25

ASPweb程序

2021-03-03 22:37:16

MediatR中介者模式

2021-03-10 09:40:43

LamarASP容器

2021-02-28 20:56:37

NCache緩存框架

2021-01-28 22:39:35

LoggerMessa開(kāi)源框架

2009-06-01 09:57:43

netbeans連接數(shù)netbeans數(shù)據(jù)庫(kù)netbeans連接m
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)