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

WPF上位机8——C#与MySQL

ADO.NET

在这里插入图片描述

数据库连接

在这里插入图片描述
在这里插入图片描述

数据插入、删除、更改

在这里插入图片描述
在这里插入图片描述

数据查询

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

带单个参数

在这里插入图片描述
在这里插入图片描述

带多个参数

在这里插入图片描述
在这里插入图片描述

      using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace WpfTest
{public class SqlHelper{private static string constr = ConfigurationManager.ConnectionStrings["db"].ConnectionString;/// <summary>/// 连接数据库/// </summary>/// <returns></returns>public MySqlConnection? ConnectDatabase(){MySqlConnection connection = new MySqlConnection(constr);connection.Open();if (connection != null && connection.State == System.Data.ConnectionState.Open){Console.WriteLine("数据库连接成功");}else{Console.WriteLine("数据库连接失败");}return connection;}/// <summary>/// 关闭数据库/// </summary>/// <param name="mySqlConnection"></param>public void CloseConnection(MySqlConnection mySqlConnection){if (mySqlConnection != null && mySqlConnection.State == System.Data.ConnectionState.Open){mySqlConnection.Close();mySqlConnection = null!;}}/// <summary>/// 执行数据DML(insert,update,delete)操作/// </summary>/// <param name="sql"></param>public void ExecuteUpdate(string? sql){var connection = ConnectDatabase();MySqlCommand cmd = connection!.CreateCommand();cmd.CommandText = sql;int row = cmd.ExecuteNonQuery();if (row > 0){Console.WriteLine("操作成功");}else{Console.WriteLine("操作失败");}CloseConnection(connection);}/// <summary>/// 数据查询的调用模板/// </summary>public void test(){MySqlParameter[] parameters = new MySqlParameter[]{new MySqlParameter("@height",30),new MySqlParameter("@width",50),};string sql = "select * from tb_name where height=@height and width=@width";ExecuteQuery(sql, parameters);}/// <summary>/// 数据查询/// </summary>/// <param name="sql"></param>public void ExecuteQuery(string sql, MySqlParameter[] mySqlParameters){var connection = ConnectDatabase();try{MySqlCommand mySqlCommand = new MySqlCommand(sql, connection);foreach (MySqlParameter param in mySqlParameters){mySqlCommand.Parameters.Add(param);}MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();while (mySqlDataReader.Read()){mySqlDataReader.GetInt32(0);     // 通过列的索引拿到数据mySqlDataReader.GetString("表字段名1");  //通过列的名称拿到数据mySqlDataReader.GetString("表字段名2");}mySqlDataReader.Close();}catch (Exception){throw;}finally{CloseConnection(connection!);}}}
}

基于特性+反射+DAO通用操作库

ORM对象关系映射

在这里插入图片描述

数据库中表映射为实体类

在这里插入图片描述
在这里插入图片描述

调用ORM框架中提供的新增方法:构建sql语句

创建枚举

在这里插入图片描述

根据枚举类型创建sql语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

调用

在这里插入图片描述

实体限定

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

生成参数列表

在这里插入图片描述

生成插入的所有方法

在这里插入图片描述
在这里插入图片描述

使用特性映射表名和字段名

在这里插入图片描述
在这里插入图片描述

通过特性获取真实的表名称

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

当字段名发生更改时会报错,所以给字段也添加特性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改的方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

相关文章:

  • [JAVAee]网络编程-套接字Socket
  • 批量导出pdf为zip文件(可以修改zip中pdf名称)
  • [国家集训队] Tree II 题解报告
  • 【redis】docker搭建redis集群
  • 前端个人年度工作述职报告(二十篇)
  • TypeScript 编译配置
  • 使用DMA传输实现单片机高效串口转发——以STM32系列为例
  • 一文了解 Android Auto 车载开发~
  • Pixel4 安卓源码及内核修改编译教程 | 基于Android12 AOSP
  • 如何做好Code Review
  • Unity技术框架集合、Unity技术栈汇总
  • 安卓SDK开发的一些疑问
  • 【基础类】—三栏页面布局的方案和优缺点
  • OPENCV C++(四)形态学操作+连通域统计
  • tomcat上部署jpress
  • 篇十:外观模式:简化复杂系统
  • linux gcc __attribute__
  • 【SpringCloud】RabbitMQ基础
  • css, resize 拖拉宽度
  • Python识别抖音Tiktok、巨量引擎滑块验证码识别
  • EvilBox One靶场笔记
  • shell脚本中的export无效
  • 前沿分享-鱼形机器人
  • 摄像机终端IP地址白名单配置流程
  • Glibc—查看版本
  • C++物理引擎Box2D的下载,编译,VS2013配置环境
  • STL容器详解——map容器
  • VR全景在建筑工程行业能起到哪些作用?
  • P1257 平面上的最接近点对
  • 8月1日上课内容 第一章web基础与http协议