当前位置: 首页 > news >正文

C# winform三层架构 实现增删改查( 显示数据,查询数据 显示,查询篇)

一.留言

上一篇讲解了如何去添加数据,那么本章节我们来做,添加数据后显示,以及咋现有的数据里,查询我们所需要的数据。

二.显示

首先我们看上一篇更新,我们在添加成功后跳转页面显示数据,那么跳转代码只有两行

当我们添加数据成功的时候,我们只需要将想要的界面名称拿过来实例化一下,然后直接show显示一下就可以了,那么就可以跳转了 

下面我们看显示页面 ,我们新建一个from(新建看前两章),然后使用datagrdvew控件

然后在DAL里面写sql语句

 /// <summary>/// 显示数据 /// </summary>/// <returns></returns>public DataTable MessShow(){using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();string query = "SELECT * FROM messaage";using (SqlCommand command = new SqlCommand(query, connection)){using (SqlDataAdapter adapter = new SqlDataAdapter(command)){DataTable dataTable = new DataTable();adapter.Fill(dataTable);return dataTable;}}}

依旧是链接数据库,sql语句,只不过要把查询到的数据,传给表格

然后BLL接收传值

  /// <summary>/// 显示数据/// </summary>/// <returns></returns>public DataTable MessShow(){return loginDal.MessShow();}

之后给到uI,ui里有一个  public MessShow()
        {
            InitializeComponent();
            EssShow();
        }

我们写一个方法   EssShow();里面将获取到BLL的值传给UI的表格里,然后我们要一打开页面就要有数据,那么就放在上述代码里,可以理解为打开页面直接执行。

  public MessShow(){InitializeComponent();EssShow();}private void EssShow(){DataTable dataTable = loginBll.MessShow();dataGridView1.DataSource = dataTable;}

效果图

三.查询

关于查询,其实和显示差不多,只不过多了一个条件,就比如我们在UI要查询食物,那么我们可以使用文本框和按钮查询某一食物

那么我们依然是先写dal层,依旧是链接数据库,并且对要查询的字段做出sql语句,然后将查好的sql语句在给datatable表里就OK了,代码如下:

/// <summary>/// 查询/// </summary>/// <param name="food"></param>/// <returns></returns>public DataTable MessByFood(string food){using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();string query = "SELECT * FROM Messaage WHERE Food = @Food";using (SqlCommand command = new SqlCommand(query, connection)){command.Parameters.AddWithValue("@Food", food);using (SqlDataAdapter adapter = new SqlDataAdapter(command)){DataTable dataTable = new DataTable();adapter.Fill(dataTable);return dataTable;}}}}

然后通过BLL接收一下传给UI代码如下

 /// <summary>/// 查询/// </summary>/// <param name="food"></param>/// <returns></returns>public DataTable MessByFood(string food){return loginDal.MessByFood(food);}

最后在UI层里,我们先写一个方法接收我们要查询的东西,最后接收我们文本框要查询的内容调用一下就可以了代码如下

 private void button1_Click(object sender, EventArgs e){string foods = textBox1.Text.ToString();LoadMessagesByFood(foods);}private void LoadMessagesByFood(string food){DataTable dataTable = loginBll.MessByFood(food);dataGridView1.DataSource = dataTable;}

效果图我们先看查询前的数据

输入查询的香菜

查询成功

以上就是显示查询的相关教程,需要源码可以联系我免费的

http://www.lryc.cn/news/419917.html

相关文章:

  • Apache Kylin 系列入门教程
  • 如何识别并防御漏洞扫描类攻击
  • 冷思考:低代码的AI Agent构建平台能创造价值吗?
  • Spring Boot如何自定义注解?
  • gin框架传入的gin.context参数是池化的
  • AWS注册是否必须使用美元银行卡
  • Spring IOC 注入的3种方式
  • 无人机影像基于机器学习的遥感反演及其结果可视化,定量遥感反演结果出图,相关性分析,指标筛选,特征选择
  • Eclipse插件之Java Dependency Viewer(显示类和包的关系图)
  • H5小游戏出海,如何流量变现?
  • 轻空间六大专利优势:引领气膜建筑新时代
  • LeetCode-day37-2940. 找到 Alice 和 Bob 可以相遇的建筑
  • unity 判断平台
  • PyCharm找不到Python了咋办
  • BRC-100 协议
  • 茶余饭后(六)
  • 秋招复习笔记——八股文部分:网络IP
  • 量化投资基础(四)之AR、MA、ARMA与ARIMA模型
  • LVS(Linux Virtual Server)详解
  • uniapp版本更新除了plus.runtime.getProperty的解决办法
  • MySQL笔记-基础篇(二):多表查询
  • 备战秋招60天算法挑战,Day15
  • 【学习笔记】Matlab和python双语言的学习(整数规划和0-1规划)
  • 【连续4届EI检索,SPIE 出版】第五届信号处理与计算机科学国际学术会议(SPCS 2024,8月23-25)
  • Vue屏蔽Console.Log打印信息
  • 数据结构之《二叉树》(下)
  • 用Python打造精彩动画与视频,9.3 项目案例分享与反思
  • 分布式主键 详解
  • synchronzed为什么要升级为重量级锁,轻量级锁不好吗?
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案