参考:
ASP.NET Core 6.0 Blazor Server APP并使用MySQL数据库_blazor mysql-CSDN博客
https://blog.csdn.net/mzl87/article/details/129199352
本地环境:win10, visual studio 2022 community, mysql 8.0.33 (MySQL Community Server), net core 6.0
目录
问题
假设本地装有MySQL,里面有一个数据库名为vector,其下有一个表名为basic_unit,现在需要在某个网页上:
- 列出basic_unit中所有数据
- 能根据字段 Name 和(或)Type 查询并列出结果。
实现效果
- 列出所有数据
- 查询
前置工作
配置VS插件/程序包
使用 NuGet 安装如下两个程序包。其中,第一个包可能要对照.NET的版本,如果对不上会安装失败。
配置MySQL
首先创建一个表:
create table basic_unit(
id int unsigned not null AUTO_INCREMENT,
name varchar(200) default null,
ustart int default -1,
uend int default -1,
direction varchar(1) default 'n',
unit_type varchar(100) default null,
seq varchar(15000) default null,
primary key(id)
) engine=InnoDB;
然后创建一个procedure:
use vector;
delimiter $$
mysql> create procedure SearchBU(in n varchar(200), in utype varchar(100))
-> BEGIN
-> select name, ustart, uend, direction, unit_type, seq
-> from basic_unit
-> where
-> name like concat('%', n, '%')
-> and
-> unit_type like concat('%', utype, '%');
-> END$$
Query OK, 0 rows affected (0.04 sec)
测试一下procedure是否创建成功:
mysql> call SearchBU("AmpR promoter","promoter");
+---------------+--------+------+-----------+-----------+-----------------------------------------------------------------------------------------------------------+
| name | ustart | uend | direction | unit_type | seq |
+---------------+--------+------+-----------+-----------+-----------------------------------------------------------------------------------------------------------+
| AmpR promoter | 1 | 105 | f | promoter | CGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGATAAATGCTTCAATAATATTGAAAAAGGAAGAGT |
+---------------+--------+------+-----------+-----------+-----------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
procedure使用方法可以参考:MySQL-存储过程(Stored Procedure)使用
MySQL-存储过程(Stored Procedure)使用-CSDN博客
https://blog.csdn.net/pxy7896/article/details/139290992
blazor配置和编码
blazor项目的创建参见下面的链接,此处不再展开。
Blazor入门-基础知识+vs2022自带例程的理解_blazor教程 菜鸟-CSDN博客
https://blog.csdn.net/pxy7896/article/details/138621017
1.创建模型类
在项目中新建一个文件夹Models,然后创建一个模型类 BasicUnit。我把Models放在Data文件夹下,其实也可以放在根目录,都可以。
namespace BlazorApp1.Data.Models
{
public class BasicUnit
{
public int Id {
get; set; }
public string? Name {
get; set; }
public int Ustart {
get; set; } = -1;
public