.NET连接MySQL数据库的方法实现
突然对.NET连接MySQL数据库有点兴趣,于是乎网上到处找资料,学习MySQL的安装,MySQL的使用等等等等,终于搞定了!
最终效果就是显示数据库中数据表的数据:

首先,当然要有MySQL数据库啦,MySQL下载地址:www.mysql.com/downloads/ ,我下载的是最新版本的MySQL。
安装方法可以参考这篇文章:5.6版本MySQL的下载、安装及配置过程
如果安装完成后发现没有以下文件,说明还没有.NET平台对应的驱动,也要到官网去下载安装,方法具体可以参照这篇博文:.net连接MySQL的方法 。

其实就是对.NET平台MySql相关类库的引用

然后就是代码的编辑啦:
1.要先在配置文件中配置数据库的连接字段,和SqlServer 一样的
Web.config <?xml version="1.0" encoding="utf-8"?> <!--
有关如何配置 ASP.NET 应用程序的详细消息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
--> <configuration>
<connectionStrings>
<add name="connStr" connectionString="server =localhost;port=3306; user id = root; password = 111111; database = yc_test"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web> </configuration>
2.个人根据别人的sql的助手类,写了个简单的MySql助手类o(∩_∩)o ,参照博文:自己封装的SQLHelper
MySQlHelper.cs using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;
using System.Configuration;
using System.Data;
/**
*创建人:Yc
*说明:数据库助手类
*/
namespace MySql_Try
{
public class MySQlHelper
{
private MySqlConnection conn = null;
private MySqlCommand cmd = null;
private MySqlDataReader sdr;
private MySqlDataAdapter sda = null;
public MySQlHelper() {
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; //获取MySql数据库连接字符串
conn = new MySqlConnection(connStr); //数据库连接
} /// <summary>
/// 打开数据库链接
/// </summary>
/// <returns></returns>
private MySqlConnection GetConn() {
if(conn.State== ConnectionState.Closed)
{
conn.Open();
}
return conn;
} /// <summary>
/// 关闭数据库链接
/// </summary>
private void GetConnClose()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
/// <summary>
/// 执行不带参数的增删改SQL语句或存储过程
/// </summary>
/// <param name="cmdText">增删改SQL语句或存储过程的字符串</param>
/// <param name="ct">命令类型</param>
/// <returns>受影响的函数</returns>
public int ExecuteNonQuery(string cmdText,CommandType ct) {
int res;
using(cmd = new MySqlCommand(cmdText,GetConn()))
{
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
} /// <summary>
/// 执行带参数的增删改SQL语句或存储过程
/// </summary>
/// <param name="cmdText">增删改SQL语句或存储过程的字符串</param>
/// <param name="paras">往存储过程或SQL中赋的参数集合</param>
/// <param name="ct">命令类型</param>
/// <returns>受影响的函数</returns>
public int ExecuteNonQuery(string cmdText,MySqlParameter[] paras,CommandType ct)
{
int res;
using(cmd = new MySqlCommand(cmdText,GetConn()))
{
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
return res;
} /// <summary>
/// 执行不带参数的查询SQL语句或存储过程
/// </summary>
/// <param name="cmdText">查询SQL语句或存储过程的字符串</param>
/// <param name="ct">命令类型</param>
/// <returns>查询到的DataTable对象</returns>
public DataTable ExecuteQuery(string cmdText,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new MySqlCommand(cmdText,GetConn());
cmd.CommandType = ct;
using(sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} /// <summary>
/// 执行带参数的查询SQL语句或存储过程
/// </summary>
/// <param name="cmdText">查询SQL语句或存储过程的字符串</param>
/// <param name="paras">参数集合</param>
/// <param name="ct">命令类型</param>
/// <returns></returns>
public DataTable ExecuteQuery(string cmdText,MySqlParameter[] paras,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new MySqlCommand(cmdText,GetConn());
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
using(sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} /// <summary>
/// 执行指定数据库连接字符串的命令,返回DataSet.
/// </summary>
/// <param name="strSql">一个有效的数据库连接字符串</param>
/// <returns>返回一个包含结果集的DataSet</returns>
public DataSet ExecuteDataset(string strSql)
{
DataSet ds = new DataSet();
sda = new MySqlDataAdapter(strSql,GetConn());
try
{
sda.Fill(ds);
}
catch (Exception ex)
{
throw ex;
}
finally {
GetConnClose();
}
return ds;
}
}
}
3. 最后就是Web页面的前台和后台了
MySql_ToConnect.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MySql_ToConnect.aspx.cs" Inherits="MySql_Try.MySql_ToConnect" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>MySql数据库连接</title>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:GridView ID="GridView1" runat="server">
</asp:GridView> </div>
</form>
</body>
</html>
MySql_ToConnect.aspx.cs using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;
using System.Configuration;
using System.Data; namespace MySql_Try
{
public partial class MySql_ToConnect : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MySQlHelper h = new MySQlHelper();
string sql = "select * from users";
DataTable ds = h.ExecuteQuery(sql,CommandType.Text);
//DataSet ds = h.ExecuteDataset(sql);
GridView1.DataSource = ds;
GridView1.DataBind(); } }
}
.NET连接MySQL数据库的方法实现的更多相关文章
- python3.4连接mysql数据库的方法
python3.4连接mysql数据库的方法 发布时间:2014-08-04编辑:www.jbxue.com 本文介绍了python3.4连接mysql数据库的方法,在python3.4中不能用mys ...
- Linux系统下 解决Qt5无法连接MySQL数据库的方法
Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...
- .NET连接MySql数据库的方法及示例
方法一: 使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件.完成该组件后,需要在项目中引用这个组件,也 ...
- Windows下C/C++连接mysql数据库的方法
步骤 安装MySQL数据库 项目属性页->C/C++->常规->附加包含目录:xxx\mysql Server 5.6\include 项目属性页->链接器->常规-&g ...
- C#连接MySql数据库的方法
1.要连接MySql数据库必须首先下载MySql的连接.net的文件, 文件下载地址为http://download.csdn.net/detail/xiaoliu123586/91455792.解压 ...
- Error loading MySQLdb module: No module named 'MySQLdb'----------- django成功连接mysql数据库的方法
在进行django学习过程中,尝试使用框架连接mysql数据库,启动服务器的时候经常遇到Error loading MySQLdb module: No module named 'MySQLdb' ...
- [技术博客]django连接mysql数据库的方法及部分问题的解决方法
配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...
- JDBC连接MySQL数据库的方法和实例
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java. ...
- 【转】Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
随机推荐
- 【App FrameWork】框架的页面布局
之前主要用JqueryMobile+PhoneGap的模式开发移动应用,但JQueryMobile自身存在的硬伤太多,如加载速度缓慢,页面转场白屏.闪烁,头尾部导航浮动问题,页面滚动等等,用户体验效果 ...
- bzoj1061: [Noi2008]志愿者招募
线性规划与费用流.http://www.cnblogs.com/iiyiyi/p/5616080.html.数组范围开错了!!!然后2.31-1=0x7fffffff!=0x7f7f7f7f. 开始以 ...
- BZOJ1758: [Wc2010]重建计划
题解: 这题我居然做了一星期?... 平均值的极值其实也可以算是一种分数规划,只不过分母上b[i]=1 然后我们就可以二分这个值.类似与 HNOI最小圈 如果没有 链的长度的限制的话,我们直接两遍df ...
- APIO2012派遣
2809: [Apio2012]dispatching Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1196 Solved: 586[Submit ...
- [swustoj 1088] 德州扑克
德州扑克(1088) 问题描述 德州扑克是一款风靡全球的扑克游戏.德州扑克一共有52张牌,没有王牌.每个玩家分两张牌作为“底牌”,五张由荷官陆续朝上发出的作为公共牌.开始的时候,每个玩家会有两张面朝下 ...
- python Image PNG getpixel R/G/B/A
# python Image PNG getpixel R/G/B/A# # 说明: # 本文主要是记录python中如何使用Image模块进行基本的图像R.G.B.A值得获取. # 为后续的rasp ...
- Zen Coding support in WebStorm/PhpStorm
With the last WebStorm/PhpStorm EAP you can edit HTML and CSS code really fast usingZen Coding featu ...
- 【 D3.js 高级系列 — 3.0 】 堆栈图
堆栈图布局(Stack Layout)能够计算二维数组每一数据层的基线,以方便将各数据层叠加起来.本文讲解堆栈图的制作方法. 先说说什么是堆栈图. 例如,有如下情况: 某公司,销售三种产品:个人电脑. ...
- MATLAB函数表(转自:http://bbs.06climate.com/forum.php?mod=viewthread&tid=16041&extra=page%3D4)
MATLAB函数表 4.1.1特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 inputname 输入参数名 NaN ...
- 玩一个:可以显示任何xml树结构的xaml定义
学习中, 玩一玩. 效果如下.Xaml随后. <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentatio ...