如何在.NET中访问MySQL数据库

如何在.NET中访问MySQL数据库,第1张

方法一:

使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL

组件为MYSQL为ADO.NET访问MYSQL数据库设计的.NET访问组件。

安装完成该组件后,引用命名空间MySql.Data.MySqlClient

使用命令行编译时:csc /r:MySql.Data.dll test.cs 

    下载地址:   http://dev.mysql.com/downloads/connector/net/1.0.html

方法二:

通过ODBC访问MYSQL数据库

访问前要先下载两个组件:odbc.net和MYSQL的ODBC驱动(MySQL Connector/ODBC (MyODBC) driver)目前为3.51版

安装完成后,即可通过ODBC访问MYSQL数据库

方法三:

使用CoreLab推出的MYSQL访问组件,面向.NET

安装完成后,引用命名空间:CoreLab.MySql

使用命令编译时:csc /r:CoreLab.MySql.dll test.cs

以下为访问MYSQL数据库实例

编译指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.cs

using System

using System.Net

using System.Text

using CoreLab.MySql

using System.Data.Odbc

using MySql.Data.MySqlClient

class ConnectMySql

{

 

 public void Connect_CoreLab()

 {

 string constr = "User Id=rootHost=localhostDatabase=qingpassword=qing"

 MySqlConnection mycn = new MySqlConnection(constr)

 mycn.Open()

 MySqlCommand mycm = new MySqlCommand("select * from shop",mycn)

 MySqlDataReader msdr = mycm.ExecuteReader()

 while(msdr.Read())

 {

 if (msdr.HasRows)

 {

 Console.WriteLine(msdr.GetString(0))

 }

 }

 msdr.Close()

 mycn.Close()

 }

 

 public void Connect_Odbc()

 {

 //string MyConString ="DSN=MySQLUID=rootPWD=qing" 

 string MyConString = "DRIVER={MySQL ODBC 3.51 Driver}" + 

 "SERVER=localhost" +

 "DATABASE=test" +

 "UID=root" +

 "PASSWORD=qing" +

 "OPTION=3"

 OdbcConnection MyConn = new OdbcConnection(MyConString)

 MyConn.Open()

 OdbcCommand mycm = new OdbcCommand("select * from hello",MyConn)

 OdbcDataReader msdr = mycm.ExecuteReader()

 while(msdr.Read())

 {

 if (msdr.HasRows)

 {

 Console.WriteLine(msdr.GetString(0))

 }

 }

 msdr.Close()

 MyConn.Close()

 }

 public void Connect_Net()

 {

 string myConnectionString = "Database=testData Source=localhostUser Id=rootPassword=qing"

 MySqlConnection mycn = new MySqlConnection(myConnectionString)

 mycn.Open()

 MySqlCommand mycm = new MySqlCommand("select * from hello",mycn)

 MySqlDataReader msdr = mycm.ExecuteReader()

 while(msdr.Read())

 {

 if (msdr.HasRows)

 {

 Console.WriteLine(msdr.GetString(0))

 }

 }

 msdr.Close()

 mycn.Close()

 }

 public static void Main()

 {

 ConnectMySql ms = new ConnectMySql()

 ms.Connect_CoreLab()

 ms.Connect_Odbc()

 Connect_Net()

 }

}

(1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序

mysql-connector-net-6.3.8.msi

(2)安装mysql-connector-net

然后直接在Windows *** 作系统安装 mysql-connector-net-6.3.8.msi

(3)封装数据库访问组件DbConnectionMySQL

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

/// <summary>

/// MySQL数据库

/// 版本 mysql-connector-net-6.3.8.msi

/// </summary>

[Serializable]

public class DbConnectionMySQL : DbConnectionWrapper

{

public DbConnectionMySQL(string pConnectionString)

: base(pConnectionString)

{

this.m_dbconn = new MySqlConnection(pConnectionString)

this.m_DbConnState = DbConnState.Free

}

//--

1 6.0.6,5.2.7,5.1.7,5.0.9,1.0.10 这些指的就是Connector/net的版本,它和mysql数据库的版本是独立的,两者没有必然关系,具体哪一个connector版本支持什么样版本的mysql,可参看connector的说明文档。

一般原则,各版本一般都同时支持net 2.x和net 4.x。

可能最新的Connector,才能很好的支持mysql5.6。

原则是使用最新的connector。

2 之前的项目就不用换了,各版本的Connector的使用扩展和修复的很多。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8447740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存