前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#三层架构实现WinForm连接Mysql显示数据库数据实例

C#三层架构实现WinForm连接Mysql显示数据库数据实例

作者头像
骤雨重山
发布2022-01-17 11:42:52
2.7K0
发布2022-01-17 11:42:52
举报
文章被收录于专栏:骤雨重山

首先创建数据库丨 学号 姓名 班级 QQ 微信 丨5列

三层架构,即包含 BLL,DAL,Model,DBHelper,Winform 必须 Mysql 包 using MySql.Data.MySqlClient; 请依照下列文件规范命名

首先配置WinForm下 App.config 文件(Mysql数据库连接为例)

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name ="NiceHanMySql" connectionString="server=数据库地址;port=端口号;user=数据库用户名;password=密码; database=数据库名;"/>
    </connectionStrings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
</configuration>

BLL 下 NiceBLL.cs文件代码

代码语言:javascript
复制
using DAL;
using Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLL
{
public class NiceBLL
{
NiceDAL tableDal = new NiceDAL();
public List<NiceModel> GetTableList()
    {
    return tableDal.GetTablelist();
    }
    public String NiceFormText()
    {
    return "NiceHan Mysql TextDate";
    }
    public String SystemonLock()
    {
    return "NiceHanWinForm";
    }
    }
    }

DAL 下 NiceDAL.cs文件代码

代码语言:javascript
复制
using Models;
using SqlDbHelper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;

namespace DAL
{
public class NiceDAL
{
public List<NiceModel> GetTablelist()
    {
    string sqlStr = "select * from PZ ";
    DataTable sTable = NiceDB.GetDataTable(sqlStr, null);
    List<NiceModel> tableList = new List<NiceModel>();
            foreach (DataRow dr in sTable.Rows)
            {
            NiceModel tb = new NiceModel();
            tb.学号 = (dr["Num"].ToString());
            tb.姓名 = (dr["Name"].ToString());
            tb.班级 = (dr["Class"].ToString());
            tb.QQ = (dr["QQ"].ToString());
            tb.微信 = (dr["Wx"].ToString());
            tableList.Add(tb);
            }
            return tableList;
            }
            }
            }

Model 下 NiceModel.cs文件代码

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models
{
public class NiceModel
{
public string 姓名 { set; get; }
public string 学号 { set; get; }
public string 班级 { set; get; }
public string QQ { set; get; }
public string 微信 { set; get; }
}
}

DBhelper 下 NiceDB.cs文件代码

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data;
using MySql.Data.MySqlClient;

namespace SqlDbHelper
{
public static class NiceDB
{
private static readonly string connStr = ConfigurationManager.ConnectionStrings["NiceHanMySql"].ConnectionString;

public static int ExecuteNoneQuery(string sqlStr, params System.Data.SqlClient.SqlParameter[] pms)
{
using (MySqlConnection conn = new MySqlConnection(connStr))
{
using (MySqlCommand cmd = new MySqlCommand(sqlStr, conn))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
conn.Open();
return cmd.ExecuteNonQuery();
}
}
}
public static object ExecuteScalar(string sqlStr, params MySqlParameter[] pms)
{
using (MySqlConnection conn = new MySqlConnection(connStr))
{
using (MySqlCommand cmd = new MySqlCommand(sqlStr, conn))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
conn.Open();
return cmd.ExecuteScalar();
}
}
}
public static MySqlDataReader ExecuteReader(string sqlStr, params MySqlParameter[] pms)
{
using (MySqlConnection conn = new MySqlConnection(connStr))
{
using (MySqlCommand cmd = new MySqlCommand(sqlStr, conn))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
try
{
conn.Open();
return cmd.ExecuteReader();
}
catch
{
conn.Close();
conn.Dispose();
throw;
}
}
}
}
public static DataTable GetDataTable(string sqlStr, params MySqlParameter[] pms)
{
using (MySqlDataAdapter adapter = new MySqlDataAdapter(sqlStr, connStr))
{
DataTable dt = new DataTable();
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
}
adapter.Fill(dt);
return dt;
}
}
}
}

Winform 下 NiceHanForm.cs文件代码

代码语言:javascript
复制
using BLL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace NiceHanForm
{
public partial class NiceHanForm : Form
{
public NiceHanForm()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
NiceBLL tb = new NiceBLL();
this.Text = tb.SystemonLock();
this.WinForm.Text = tb.NiceFormText();
this.dataGridView1.DataSource = tb.GetTableList();
}
}
}
恭喜你完成 运行调试即可
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先创建数据库丨 学号 姓名 班级 QQ 微信 丨5列
  • 首先配置WinForm下 App.config 文件(Mysql数据库连接为例)
  • BLL 下 NiceBLL.cs文件代码
  • DAL 下 NiceDAL.cs文件代码
  • Model 下 NiceModel.cs文件代码
  • DBhelper 下 NiceDB.cs文件代码
  • Winform 下 NiceHanForm.cs文件代码
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档