C#连接MySql数据库 (ASP.NET API)

main方法调用连接

using System;

using MySql.Data.MySqlClient;

class Program

{

static void Main(string\[\] args)

{

string connectionString = "server=localhost;database=***;username=***;password=****";

using (MySqlConnection connection = new MySqlConnection(connectionString))

{

//try

//{

// connection.Open();

// // 执行数据库操作

// Console.WriteLine("连接成功!");

//}

//catch (MySqlException ex)

//{

// Console.WriteLine("数据库连接失败: " + ex.Message);

//}

try

{

connection.Open();

string query = "SELECT * FROM aaa";

MySqlCommand cmd = new MySqlCommand(query, connection);

MySqlDataReader reader = cmd.ExecuteReader();

while (reader.Read())

{

Console.WriteLine(reader"SHORI_NEN".ToString());

}

reader.Close();

}

catch (Exception ex)

{

Console.WriteLine(ex.ToString());

}

connection.Close();

}

}

}

上面是练习 下面是api重点哦

1.Program.cs 文件添加

添加对配置文件的引用

//builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

配置连接字符串

//var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");

添加数据库上下文服务

//builder.Services.AddDbContext<StudentContext>(options =>

// options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString))

//);

或者

builder.Services.AddDbContext<StudentContext>(options =>

options.UseMySql(builder.Configuration.GetConnectionString("DefaultConnection"), new MySqlServerVersion(new Version())));

主要是引入json文件

2.appsettings.json

"ConnectionStrings": {

"DefaultConnection": "server=localhost;database=****;username=*****;password=******"

},

Program里的"DefaultConnection"要和json一致哦

这时候就已经配置好连接了

3.新建Moudels 文件夹

创建学生Student

namespace TodoApi.Models

{

public class Student

{

Key

public int Id { get; set; }

//大小写都可以 带下划线的需要和数据库一致 也可以配置(自己百度)

public string Name { get; set; } = String.Empty;

public string Age { get; set; } = String.Empty;

}

}

数据库记得建表

CREATE TABLE `student` (

`Id` int NOT NULL COMMENT 'OID',

`Name` varchar(2) NOT NULL COMMENT '名称',

`Age` varchar(1) NOT NULL COMMENT '年龄'

)

4.创建StudentContext文件

using Microsoft.EntityFrameworkCore;

using WebApplication777.Models;

namespace TodoApi.Models

{

public class StudentContext : DbContext

{

public StudentContext(DbContextOptions<StudentContext> options) : base(options)

{

}

public DbSet<Student> Students { get; set; }

public DbSet<MsgMst> MsgMsts { get; set; }

//OnModelCreating ToTable为了映射数据库

protected override void OnModelCreating(ModelBuilder modelBuilder)

{

//entity(自己的表) ToTable (填写数据库的名字)

modelBuilder.Entity<Student>().ToTable("student");

modelBuilder.Entity<MsgMst>().ToTable("msg_mst");

}

}

}

5.controller

建立StudentController

using Microsoft.AspNetCore.Mvc;

using TodoApi.Models;

using WebApplication777.Models;

namespace TodoApi.Controllers

{

Route("api/\[controller\]")

ApiController

public class StudentController : ControllerBase

{

private readonly StudentContext _context;

public StudentController(StudentContext context)

{

_context = context;

}

HttpGet("{id}")

public async Task<ActionResult<Student>> Get(int id)

{

var studentsId = await _context.Students.FindAsync(id);

if (studentsId == null)

{

return NotFound();

}

return studentsId;

}

}

}

这时候就可以查询数据库啦

记得点赞哈

第一次学c#

相关推荐
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹1 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
这个DBA有点耶1 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G1 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备1 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远1 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
kybs19911 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安1 天前
MySQL-触发器
数据库·mysql