mysql connetor net_c#利用mysql connector net怎么连接mysql数据库

展开全部

(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)封装数据库访e69da5e887aa3231313335323631343130323136353331333361316638问组件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

///

/// MySQL数据库

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

///

[Serializable]

public class DbConnectionMySQL : DbConnectionWrapper

{

public DbConnectionMySQL(string pConnectionString)

: base(pConnectionString)

{

this.m_dbconn = new MySqlConnection(pConnectionString);

this.m_DbConnState = DbConnState.Free;

}

//--

public override DbDataAdapter GetDbDataAdapter()

{

return new MySqlDataAdapter();

}

public override DbDataAdapter GetDbDataAdapter(DbCommand dbCommand)

{

return new MySqlDataAdapter(dbCommand as MySqlCommand);

}

public override DbCommand GetDbCommand()

{

return new MySqlCommand();

}

public override DbConnection GetDbConnection()

{

return new MySqlConnection();

}

public override DbCommandBuilder GetDbCommandBuilder()

{

return new MySqlCommandBuilder();

}

public override DataProviderType GetCurrentDataProviderType()

{

return DataProviderType.Sql;

}

public override bool IsExistsTable(string TableName, string UserName)

{

#region information

bool rbc = false; //TABLES表中去查询 table_name

string dSql = "select * from TABLES where table_name='" + TableName + "'";

DataSet ds = this.ExecuteDataSet(dSql);

if (ds != null)

{

if (ds.Tables[0].Rows.Count > 0)

{

rbc = true;

}

else

{

rbc = false;

}

}

else

{

rbc = false;

}

return rbc;

#endregion

}

public override bool IsExistsField(string FieldName, string TableName)

{

#region information

bool rbc = false;

string dSql = "";

dSql = "select * from " + TableName + " where 1<>1";

DataSet ds = this.ExecuteDataSet(dSql);

if (ds != null)

{

DataTable dt = ds.Tables[0];

for (int j = 0; j < dt.Columns.Count; j++)

{

if (dt.Columns[j].ColumnName.ToString().ToUpper() == FieldName.ToString().ToUpper())

{

rbc = true;

goto Return_End;

}

}

dt.Dispose();

dt = null;

}

ds.Dispose();

ds = null;

Return_End:

return rbc;

#endregion

}

public override char ParameterChar

{

get

{

return ':'; //SQLite的参数符号为:

}

}

public override DbParameter CreateParameter(string name, object value)

{

return new MySqlParameter(name, value);

}

public override DbParameter CreateParameter(string name)

{

DbParameter dbp = new MySqlParameter();

dbp.ParameterName = name;

return dbp;

}

public override DbParameter CreateParameter(string name, DbType dbtype, object value)

{

DbParameter dbp = new MySqlParameter();

dbp.ParameterName = name;

dbp.Value = value;

dbp.DbType = dbtype;

return dbp;

}

public override DbParameter CreateParameter(string name, DbType dbtype, int size, object value)

{

DbParameter dbp = new MySqlParameter();

dbp.ParameterName = name;

dbp.Value = value;

dbp.DbType = dbtype;

dbp.Size = size;

return dbp;

}

}

(4)客户端开发实例

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

public void TestCShape_MySQL()

{

string constr = "server=localhost;User Id=root;password=root;Database=xp_users";

DbConnectionWrapper dbw = new DbConnectionMySQL(constr);

bool rbc=dbw.TestConnection();

this.Context.Response.Write(rbc);

string x = "";

//删除语句

x = "delete from xp_users";

if (dbw.ExecuteQuery(x) > 0)

{

this.Context.Response.Write("删除语句成功!下面是SQL语句" + x);

}

//插入语句

x = "insert into xp_users(gid,uid,uname,sex,email,pwd) values('";

x += "1','hsg77','何XXX',1,'hsg77@163.com','1')";

if (dbw.ExecuteQuery(x) > 0)

{

this.Context.Response.Write("插入语句成功!下面是SQL语句"+x);

}

//查询语句

DataTable dt = dbw.ExecuteDataTable("select * from xp_users");

if (dt != null && dt.Rows.Count > 0)

{

this.Context.Response.Write("用户数:"+dt.Rows.Count);

}

if (dt != null)

{

dt.Dispose();

dt = null;

}

dbw.Dispose();

dbw = null;

}

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL Connector/Net 版本所需的 .Net Framework 版本 不同的版本 MySQL Connector/Net 所需的 .Net Framework 版本也是不同的: MySQL Connector/Net 6.9.12 需要 .Net Framework 4.0 或更高版本支持。(2018-04-30, General Availability) MySQL Connector/Ne 6.10.1 需要 .Net Framework 4.5.1 或更高版本支持。 MySQL Connector Net 6.10.2 到最新的 MySQL Connector Net 8.0.20 需要 .Net Framework 4.5.2 或更高版本。 MySQL Connector/NET 6.9.12 支持与 MySQL Server 8.0.3 以及之前版本的MySQL Server连接。 从官方网站下载mysql-connector-net-8.20.0.msi安装之后,安装目录下的Assemblies中只有v4.5.2的MySql.Data.dll,也就是说它需要 v4.5.2 以上版本的 .Net Framework 支持。如果VS项目的目标框架是.NET Framework 4.5.2或更高版本,则引用正常;将项目的目标框架改为.NET Framework 4 再进行编译就会报错,提示“ 未能解析主引用“MySql.Data, Version=...... 该程序集是针对 .NETFramework,Version=v4.5.2 框架生成的......该框架版本高于当前目标框架 .NETFramework,Version=v4.0”。这表明这个 MySQL Connector/Net 的 MySql.Data.dll 需要 .Net Framework v4.5.2 的支持。 如果项目的目标框架是 .Net Framework v4.0 则最高只能使用 MySQL Connector/Net 6.9.12 的 MySql.Data.dll 。而需要注意的是 MySQL Connector/Net 6.9.12 的 MySql.Data.dll 是在2018-04-30发布的,官方文档显示支持与 MySQL Server 8.0.3 及之前的版本的MySQL Server连接C#通过MySql.Data.dll连接MySql数据库 在项目中引用组件:MySql.Data.dll (记得复制到本地中选择为true / 或直接把MySql.Data.dll复制到debug文件夹下) 在代码中 using MySql.Data.MySqlClient; ......接下来这里就看你表演了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值