ASP.net连接Mysql,并简单的增删改查

一.说明

这一篇简单的个人总结,方便自己的复制粘贴,软件是Visual Studio 2019,SQLyog

二.配置

一.在Web.config中的configuration标签下添加如下代码:

<connectionStrings>
	<add name="Conn_example" connectionString="Database='example';Data Source='127.0.0.1';User Id='root';Password='xxxxx';charset='utf8';pooling=true"/>
</connectionStrings>
<!--
数据库位置:Data Source='127.0.0.1'//此处为本地数据库
用户名:User Id=''
密码:Password=''
字符集:charset=''
-->

二.创建一个名为MysqlData.cs的类,并写入如下代码:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;

namespace MyTest03
{
    public class MysqlData
    {
        public static string DataBase = ConfigurationManager.ConnectionStrings["Conn_example"].ToString();
        //将Web.config文件里的配置取出
    }
}

三.在官网下载MySql.Data.dll,并将其引用,大家请在网上查找

三.连接

创建一个asp.net web 窗口,输入如下代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="MyTest03.WebForm2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>

            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="" Width="31px" />
            <br />
            <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="" />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="" />
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
            <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="" />
            <br />

        </div>
    </form>
</body>
</html>

其界面效果是这样的:
在这里插入图片描述
而对应的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;/*添加Mysql的引用*/

namespace MyTest03
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        
		//查寻功能
        protected void Button3_Click(object sender, EventArgs e)
        {   
            try {

                string sql = "select * from student";
                MySqlDataReader DR = MySqlHelper.ExecuteReader(MysqlData.DataBase, sql);

                string sex = "";
                while (DR.Read())
                {
                    sex = "";
                    if (DR.GetInt32(2) == 1)
                    {
                        sex = "男";
                    }
                    else
                    {
                        sex = "女";
                    }
                    Response.Write("编号:" + DR.GetString(0) + ",姓名:" + DR.GetString(1) + ",性别:" + sex + "<br/>");

                }
                DR.Close();//关闭

            } catch(Exception ex) {

                Response.Write(ex.Message);
            }

            
        }
        
		//增
        protected void Button1_Click(object sender, EventArgs e)
        {
            
           
            string sql = "insert into student value(4,'小绿',0)";

            MySqlConnection conn = new MySqlConnection(MysqlData.DataBase);//这里需要穿之前配置好类的参数
            conn.Open();//打开

            MySqlCommand cmd = new MySqlCommand();
            cmd.CommandText = sql;//指定cmd要执行的sql语句
            cmd.Connection = conn;//命令对象和那个连接对象关联
			
			/*
			上面的三行代码也可以换为更为简约的代码:
			MySqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = sql;
            这样就可以省略掉:'cmd.Connection = conn;//命令对象和那个连接对象关联'这一句代码了
			*/

			//执行并返回结果
            int result =cmd.ExecuteNonQuery();
            cmd.Dispose();//将命令对象关闭
            conn.Close();//将连接对象关闭
			
			//判断返回的结果,是否执行成功
            if (result > 0)
            {
                Response.Write("增加成功!");
            }
            else
            {

                Response.Write("增加失败!");
            }




        }
        
		//删,其余的操作变化都不是很大,无非是sql语句的变化
        protected void Button2_Click(object sender, EventArgs e)
        {
            
           

            string te = TextBox1.Text;
            string sql = "delete from student where name='" + te + "'";

            MySqlConnection conn = new MySqlConnection(MysqlData.DataBase);
            conn.Open();


            MySqlCommand cmd = new MySqlCommand();
            cmd.CommandText = sql;
            cmd.Connection = conn;

            int result = cmd.ExecuteNonQuery();
            
            cmd.Dispose();
            conn.Close();
            
            
            if (result > 0)
            {
                Response.Write("删除成功!");

            }
            else
            {
                Response.Write("删除失败!");
            }

        }
		
		//改
        protected void Button4_Click(object sender, EventArgs e)
        {
            string te = TextBox2.Text;
            string sql = "update student set id=6 where name='" + te + "'";

            MySqlConnection conn = new MySqlConnection(MysqlData.DataBase);
            conn.Open();

            MySqlCommand cmd = new MySqlCommand();
            
            cmd.CommandText = sql;
            cmd.Connection = conn;

            int result =cmd.ExecuteNonQuery();
            
            cmd.Dispose();
            conn.Close();
            
            
            if (result > 0)
            {
                Response.Write("修改成功!");

            }
            else {
                Response.Write("修改失败!");
            }

        }
    }
}

四.结尾

为了数据库的安全,一般都是在取得返回之后,就将命令对象,连接对象关闭.

此为简陋的测试,接下来的学习中,如果遇到其他值得记录的代码,也会给小伙伴们分享.谢谢大家!

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用MySQL Connector/NET这个NuGet包来连接MySQL数据库。具体操作可以参考以下步骤: 1. 安装MySQL Connector/NET NuGet包。 2. 在appsettings.json文件中添加连接字符串,格式如下: ``` { "ConnectionStrings": { "DefaultConnection": "Server=<server>;Database=<database>;Uid=<user>;Pwd=<password>;" }, ... } ``` 请将<server>, <database>, <user>, <password>替换为您的MySQL数据库信息。 3. 在程序中注入DbContext,并在需要操作数据的地方使用DbContext来进行增删改查操作。 示例代码: ``` using Microsoft.EntityFrameworkCore; using System.Collections.Generic; using System.Threading.Tasks; public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<User> Users { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // 创建User表 modelBuilder.Entity<User>().ToTable("User"); } } public class User { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } public class UserRepository { private readonly MyDbContext _dbContext; public UserRepository(MyDbContext dbContext) { _dbContext = dbContext; } public async Task<List<User>> GetAllUsersAsync() { return await _dbContext.Users.ToListAsync(); } public async Task<User> GetUserByIdAsync(int id) { return await _dbContext.Users.FindAsync(id); } public async Task AddUserAsync(User user) { await _dbContext.Users.AddAsync(user); await _dbContext.SaveChangesAsync(); } public async Task UpdateUserAsync(User user) { _dbContext.Update(user); await _dbContext.SaveChangesAsync(); } public async Task DeleteUserAsync(User user) { _dbContext.Remove(user); await _dbContext.SaveChangesAsync(); } } // 在Startup.cs中注入DbContext和Repository public void ConfigureServices(IServiceCollection services) { services.AddDbContext<MyDbContext>(options => options.UseMySQL(Configuration.GetConnectionString("DefaultConnection"))); services.AddScoped<UserRepository>(); } ``` 请注意,如果您要在ASP.NET Core中使用MySQL Connector/NET,请确保您的操作系统中已安装MySQL Connector/NET的依赖项(如libmysql.dll)。 希望这可以帮助您实现ASP.NET Core连接MySQL数据库并进行增删改查操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值