- 博客(71)
- 收藏
- 关注
原创 基于VS Code编程软件关于LINQ的 可直接运行的版本练习Demo【已经修正】
这篇文章提供了一个基于VS Code的LINQ编程练习Demo,包含完整的C#代码实现。摘要如下: 项目结构简洁,移除了分层和第三方依赖,适合直接运行学习 核心内容包括: 基础查询语法示例 分组/连接查询演示 完整的方法语法示例 高级查询模式实现 LINQ to XML应用 自定义LINQ扩展方法 提供初始化数据方法,包含商品和分类实体类 所有示例使用统一测试数据,便于理解LINQ操作的实际效果 该项目特别适合在VS Code环境中学习和练习LINQ的各种查询技术。
2026-02-13 08:09:32
655
原创 C# LINQ 全语法手册:从基础到高级(2026最新版)
本文全面介绍C# LINQ技术,涵盖查询语法和方法语法两大核心体系。主要内容包括:LINQ基础概念(延迟执行、表达式树等)、环境准备、两种语法体系的对比选择原则,以及查询语法中的基础关键字(from/select/where/orderby)和高级分组连接关键字(group/join/into/let)。文中提供了完整的测试数据源和可运行示例代码,帮助开发者从零基础到进阶掌握LINQ技术。文章特别强调语法选择策略,建议简单查询使用类SQL的查询语法,复杂场景则采用灵活的方法语法。
2026-02-12 15:22:28
554
原创 保姆级C#进阶教程:从入门到企业级开发,小白也能秒懂!
🚀 C#进阶教程:从入门到企业级开发 本文通过完整Demo演示C#进阶开发的核心技能,包括: 1️⃣ 接口与依赖注入 - 定义数据导出规范,实现CSV导出功能 2️⃣ 泛型约束 - 限制泛型类型,确保数据安全处理 3️⃣ LINQ高级用法 - 简化集合操作,提高代码可读性 4️⃣ 委托与事件 - 实现订单状态变更的订阅通知机制 5️⃣ 异步编程 - 使用async/await处理耗时文件操作 6️⃣ 文件操作 - 实现CSV文件的读写功能 教程特点: ✔️ 新手友好,采用游戏化比喻解释概念 ✔️ 提供完整
2026-02-11 14:11:51
300
原创 SQL Server 核心语法+进阶知识点大全(小白版)
SQL Server 核心语法与进阶知识点摘要 本文系统整理了SQL Server数据库操作的核心语法,涵盖基础查询、数据操作、表结构管理、聚合分组、多表联查等关键内容。从SELECT基础检索到INSERT/UPDATE/DML操作,再到CREATE/ALTER等DDL语句,详细讲解了语法结构和使用场景。重点介绍了多表JOIN的四种连接方式及实际应用,以及GROUP BY分组统计和HAVING筛选的高级用法。同时包含3表联查等复杂查询示例、子查询嵌套技术等进阶内容,并对比了DELETE与TRUNCATE等关
2026-02-05 15:09:02
639
原创 `IsNullOrWhiteSpace` 和 `IsNullOrEmpty` 的核心区别。
摘要:IsNullOrWhiteSpace与IsNullOrEmpty是C#中用于字符串判空的两种方法,核心区别在于是否识别空白字符(如空格、制表符)。前者严格判断null、空串及纯空白字符(" "、"\t"),后者仅检测null和空串。实际开发中,输入验证推荐使用IsNullOrWhiteSpace,可有效避免用户输入无意义的空白字符。示例显示:" "对IsNullOrEmpty为有效内容,但对IsNullOrWhiteSpace则视为无效。两者
2026-02-04 11:54:16
233
原创 # C# 基础语法完全指南
本文是C#基础语法完全指南,涵盖编程基础和面向对象编程两大核心内容。第一部分介绍C#编程基础,包括第一个C#程序结构、变量和数据类型(如int、string、bool等)、各种运算符(算术、比较、逻辑)以及控制流程(条件语句和循环语句)。第二部分讲解面向对象编程基础,详细说明如何定义类(包含字段、属性、构造函数和方法)、创建对象和使用类。文中通过大量代码示例展示语法要点,如变量声明、运算符使用、if-else条件判断、for/while循环、类的封装与继承等,为初学者提供全面的C#语法入门指导。
2026-02-03 15:06:36
521
原创 WinForms 线程安全三剑客详解
WinForms线程安全三剑客摘要 WinForms提供了三个核心机制确保线程安全操作UI控件: InvokeRequired - 线程检查器,判断当前是否在UI线程(返回bool) Invoke - 同步调度器,阻塞调用线程直到UI操作完成(可获取返回值) BeginInvoke - 异步调度器,非阻塞调用后立即返回(不保证执行顺序) 典型使用模式:先检查InvokeRequired,再选择同步(Invoke)或异步(BeginInvoke)方式调度到UI线程执行。Invoke适用于需要即时结果的操作,B
2026-02-03 15:00:05
380
原创 # `InvokeRequired` 详解:WinForms 线程安全访问的守护者
WinForms线程安全访问:InvokeRequired简明指南 InvokeRequired是WinForms中判断是否需跨线程访问UI的关键属性。它检查当前线程是否控件的创建线程,若否(返回true),则必须通过Invoke或BeginInvoke委托UI线程执行修改。典型使用模式为: if(control.InvokeRequired) { control.Invoke(()=>UpdateUI()); return; } // 安全更新UI代码 该机制确保遵守WinForms"控件只能由
2026-02-03 14:52:36
309
原创 # C# WinForms 数据库清理系统基础知识与避坑指南
本文总结了C# WinForms数据库清理系统的核心知识点与常见避坑指南。重点包括:1) WinForms窗体架构与线程安全操作;2) ADO.NET数据库连接管理、数据绑定和异步编程;3) 配置读取与数据验证。常见避坑点涵盖:数据库连接资源释放、跨线程UI访问、SQL注入防护、事件内存泄漏管理、DataGridView性能优化、精准异常处理以及定时器正确使用。文章提供了大量代码示例,对比错误与正确做法,帮助开发者构建安全高效的WinForms数据库应用。
2026-02-03 14:36:23
417
原创 SQL Server数据自动清理系统最终版(C# WinForms完整源码)
SQL Server数据自动清理系统是一个完整的C# WinForms解决方案,包含数据库脚本、后端代码和前端界面。系统支持按数量/日期两种清理模式,提供可视化配置管理、定时任务调度和详细日志记录功能。项目结构包括SQL脚本目录(数据库创建、表结构、存储过程)、C#源代码(数据访问层、主窗体、配置对话框)和配置文件。数据库脚本部分详细展示了数据库表结构创建(清理日志表和配置表)以及按数量清理的存储过程实现,支持分批删除和测试模式。系统具有完善的日志记录机制,可监控清理过程的状态和执行效果。
2026-01-31 17:17:54
653
原创 # Windows窗体 + SQL Server 自动清理功能完整方案优化版
本文介绍了基于Windows窗体和SQL Server的自动清理功能实现方案。系统包含三个核心数据库表:LogData(测试数据表)、CleanupConfig(清理规则配置表)和CleanupHistory(清理操作记录表)。提供了两种清理方式:按数量清理(保留最新N条记录)和按日期清理(保留最近N天记录),分别通过存储过程usp_CleanupByRows和usp_CleanupByDate实现。系统采用事务处理确保数据一致性,并在清理后自动更新统计信息,同时记录每次清理操作的详细日志。该方案适用于需要
2026-01-23 10:56:07
789
原创 Windows窗体应用 + SQL Server 自动清理功能方案:按数量与按日期双模式
本文介绍了一个基于Windows窗体应用和SQL Server的自动数据清理系统设计方案。系统采用双模式清理机制(按数量/按日期),主要包含以下组件: 数据库设计: 主数据表存储业务数据 清理配置表记录清理策略(模式、阈值、调度类型等) 清理历史表跟踪执行记录 Windows窗体应用功能: 配置管理界面(增删改查清理策略) 手动执行清理功能 定时自动清理机制(每分钟检查) 执行日志记录 系统采用三层架构设计,通过定时器实现自动触发,支持灵活配置多种清理策略,并记录详细的执行历史,适用于需要定期维护数据库规模
2026-01-23 09:56:28
270
原创 # 测试自动清理功能的表数据设计
本文介绍了用于测试数据库自动清理功能的表数据设计。创建了包含系统日志、用户活动日志、临时文件、聊天消息和订单历史等5个测试表,以及清理策略配置和清理历史记录2个管理表。系统设计了两种清理策略:按数量保留(如系统日志保留最近100条)和按日期保留(如用户活动日志保留30天)。所有表都创建了必要的索引以优化清理操作性能。
2026-01-22 09:36:16
311
原创 # C# + SQL Server 实现自动清理功能的完整方案:按数量与按日期双模式
本文介绍了一个基于C#和SQL Server的自动数据清理系统完整实现方案。系统采用分层架构设计,包含应用层、数据访问层和数据存储层,支持两种核心清理策略:按数量清理(保留最新N条记录)和按日期清理(删除超过指定天数的记录)。数据库设计包含清理策略配置表和清理历史记录表,并提供了相应的存储过程实现。C#核心代码部分展示了实体类定义和数据访问层实现,使用.NET 6+框架和SQL Server 2016+数据库,可通过Windows Service或Web API等方式部署。该系统能有效管理数据库中的过期数据
2026-01-22 09:23:59
814
原创 三层架构的补充
文章摘要: 本文介绍了一个基于三层架构的员工部门管理系统窗体实现。系统采用C#开发,包含业务逻辑层、数据访问层和表示层。主窗体Form1.cs集成了员工管理、部门管理、分页查询、搜索、导出和登录等功能模块。通过初始化服务和UI控件,实现了数据绑定、分页导航、员工信息维护等核心功能。系统采用安全登录机制,支持密码记忆功能,并提供了响应式界面布局,包含登录面板、搜索面板、数据展示区和操作按钮区。代码结构清晰,体现了分层设计和模块化思想,适合中小型企业管理系统的开发需求。(150字)
2026-01-21 08:06:23
337
原创 代码重构为三层架构(表示层、业务逻辑层、数据访问层)
代码重构为三层架构(表示层、业务逻辑层、数据访问层)1. 数据访问层 (DataAccessLayer)EmployeeRepository.csDepartmentRepository.csExportRepository.cs2. 业务逻辑层 (BusinessLogicLayer)PaginationService.csEmployeeService.csDepartmentService.csLoginService.csExportService.cs3. 公
2026-01-17 12:03:22
822
原创 C#数据库连接池:程序员的「共享充电宝」系统
C#数据库连接池:高效管理的共享资源系统 连接池是预先创建并管理的数据库连接集合,类似共享充电宝机制,显著提升性能(实测快50-100倍)。核心优势: 1️⃣ 性能飞跃:复用连接避免重复建立/关闭的开销 2️⃣ 智能管理:自动验证、回收和限制连接数量 3️⃣ 过载保护:通过最大连接数限制防止数据库崩溃 在C#中通过连接字符串配置(如Pooling=True/Max Pool Size=100),.NET框架自动维护连接池生命周期。可通过SQL查询监控实时连接状态,优化参数如最小连接数预热(Min Pool
2026-01-16 16:08:48
563
原创 #SQL Server 查询语句大全及实战应用指南
本文是SQL Server查询语句实用指南,主要涵盖基础查询和条件过滤两大类核心操作。基础查询部分详细介绍了SELECT语句的多种用法,包括查询所有列、指定列、使用别名、计算列和去重查询(DISTINCT)。条件过滤部分重点讲解了WHERE子句的各种应用场景,包含基本条件查询、多条件组合(AND/OR)、范围查询(BETWEEN)、模糊匹配(LIKE)、多值匹配(IN)以及NULL值处理等实用技巧。文中通过大量代码示例演示了每种查询语法的实际应用,特别强调了开发中需要注意的性能问题和常见错误写法。
2026-01-16 11:36:14
324
原创 三层架构重构项目文档
本文档介绍了一个员工部门管理系统的三层架构重构项目。项目采用C# Windows Forms开发,将原有代码拆分为清晰的三层架构:UI层(界面展示)、业务逻辑层(规则处理)和数据访问层(数据库操作)。文件结构包含主项目文件夹及5个子目录:UI层窗体文件、业务逻辑层处理类、数据访问层数据库操作类、实体模型层数据模型定义和公共工具类。文档详细说明了各层功能,特别是实体模型层定义了员工、部门和搜索条件等数据模型,数据访问层则通过DatabaseHelper类提供数据库连接,EmployeeDAL类处理员工数据操作
2026-01-16 10:59:42
673
原创 什么是索引?
摘要:索引是数据库中的高效查找工具,类似图书馆目录或字典索引。本文通过生活实例(图书馆、通讯录、字典)通俗解释索引概念,并对比数据库表有无索引时的查询差异。详细介绍了三种索引类型:普通索引(可重复)、唯一索引(不可重复)和主键(不可重复且非空),通过实际SQL代码演示创建和使用方法。最后给出用户表和商品表的索引设计示例,说明如何根据业务需求选择合适的索引类型。索引能显著提升查询效率,但需要合理设计以避免性能问题。
2026-01-15 16:58:28
552
原创 简单易懂的索引查询示例(小白也能看懂)
本文通过图书目录的比喻,直观解释了数据库索引的工作原理,并提供了创建和使用索引的实用示例。主要内容包括: 索引基础概念:通过图书目录与全表扫描的对比,说明索引如何加速查询 实战演示: 创建包含10万条数据的学生表 展示无索引查询(500ms)与有索引查询(5ms)的百倍性能差异 介绍唯一索引、复合索引和包含列索引等常见类型 应用场景: 学生管理系统中的常见查询优化 订单系统的复合索引设计 性能分析工具: 执行计划解读(表扫描vs索引查找) 索引使用统计查询 通过生活化比喻和可运行的SQL示例,帮助初学者理解
2026-01-15 16:31:25
887
原创 C#/.NET + SQL Server 常用命令大全(小白也能看懂版)
C#/.NET + SQL Server 常用命令摘要 本文提供了C#与SQL Server交互的实用指南,包含: 基础概念:将数据库比作文件柜,介绍表、行、列等核心概念 连接方法:包含基本连接、配置文件读取和安全连接三种方式 CRUD操作:详细讲解SQL Server的增删改查命令 代码示例:提供C#执行SQL的完整代码片段,特别强调参数化查询防止SQL注入 重点涵盖创建表、插入数据(含获取自增ID)、多种查询方式等常用场景,适合.NET开发者快速上手数据库操作。
2026-01-15 16:14:59
393
原创 C#/.NET 项目文件结构详解(小白也能看懂)
本文详细介绍了C#/.NET中Windows Forms项目的标准文件结构及其功能。主要包括Program.cs(程序入口)、Form1.cs(业务逻辑)、Form1.Designer.cs(自动生成的设计代码)、Form1.resx(资源文件)、App.config(配置文件)和项目文件MyWinFormsApp.csproj。重点说明了各文件的作用和使用注意事项,特别是Designer.cs文件不应手动修改,以及如何在Program.cs中设置应用程序启动参数。文章还展示了配置文件App.config的
2026-01-15 08:30:51
667
原创 一步步实现通用数据访问层(DAL)
本文介绍如何构建一个通用的数据访问层(DAL),帮助开发者简化数据库操作。文章首先分析了通用DAL的必要性,包括减少重复代码、便于维护和统一规范等优点。接着详细讲解了实现步骤:1)设计项目结构和基础接口,包括IDataAccess和IEntityDataAccess核心接口;2)定义数据库配置类和分页结果模型;3)实现基础数据访问抽象类BaseDataAccess,提供连接管理和核心查询功能。该方案采用分层设计,支持多种数据库类型,通过接口和抽象类实现了灵活性与统一性的平衡,为后续具体数据库实现奠定了基础。
2026-01-14 18:08:58
722
原创 C#/.NET 常用控件、属性、方法和语句大全(或许全)
本文总结了C#/.NET开发中Windows Forms常用控件的核心知识,包括基础输入控件(TextBox、Label等)、容器布局控件(Panel、TabControl等)、数据展示控件(DataGridView、TreeView等)、菜单工具栏(MenuStrip、ToolStrip)以及对话框控件(OpenFileDialog)。文章以表格和代码示例形式详细介绍了各控件的属性、方法和典型应用场景,为Windows桌面应用开发提供了实用参考指南。
2026-01-14 17:18:25
1113
原创 # 通用数据访问层设计:一个完整的、支持多数据库的.NET数据访问层实现
本文介绍了一个完整的.NET通用数据访问层(DAL)设计,支持SQL Server、MySQL、Oracle等多种数据库。该框架通过核心接口(IDataAccess)提供CRUD操作、事务管理、批量处理等功能,并采用泛型接口(IEntityDataAccess<T>)实现强类型实体操作。系统配置灵活,支持连接池和异步操作,包含数据库配置(DatabaseConfig)、表映射(TableMapping)和分页结果(PagedResult)等关键组件。该架构已在多个企业项目中验证,具有良好的可维护
2026-01-14 15:01:53
891
原创 # 海康SDK调用详解:主要用`NET_`开头方法吗?(小白包看懂,巨详细!!!)
核心原则:调用海康SDK时,核心功能方法确实都以NET_开头,这是SDK的设计规范。调用流程初始化SDK → 准备参数(结构体)→ 调用NET_方法 → 处理结果 → 释放资源必备步骤调用任何功能前,必须先调用使用结构体作为参数时,注意设置dwSize字段调用失败时,使用获取错误码版本注意新项目使用V4.x版本的SDK注意32位/64位DLL的匹配学习建议从简单的登录、预览功能开始配合海康官方示例代码学习善用错误码排查问题。
2026-01-12 11:52:54
494
原创 【手把手教学】WinForm调用SQL Server存储过程:以新增用户为例的全流程(附完整源码)
存储过程(Stored Procedure)执行速度快:一次编译,多次执行安全性高:防止SQL注入攻击维护方便:业务逻辑修改只需改数据库,无需重新编译程序本文将通过一个「新增用户」的完整案例,带你掌握WinForm调用存储过程的核心技能。通过本教程,你已经掌握了:✅SQL Server端创建数据库、数据表编写存储过程参数化设计和验证✅WinForm端界面设计和控件使用安装和使用NuGet包调用存储过程的完整流程输入验证和异常处理✅核心技能ADO.NET连接数据库。
2026-01-10 16:25:15
860
原创 c#中类和结构体的区别(小白包能看懂,巨详细)
类是引用类型,适合描述复杂,有行为,需要复用、扩展的对象(如用户,订单),核心是“定义可变的,重量级的实体模板”结构体是值类型,适合存储简单,无行为,仅需传值的小数据(如坐标,颜色),核心是“定义轻量级的,不可继承的数值模板”如果只存储几个简单数值(如X/Y坐标,宽高),用结构体:如需封装属性+方法(如手机有品牌+打电话的方法),用类;
2026-01-10 08:57:09
130
原创 c#中什么是类什么是程序集?(小白包看懂,巨详细)
类时c#面向对象的逻辑模板,封装数据和行为,用于创建对象,是代码层面的基本单元。程序集是.NET的物理部署单元,以.dll/.exe形式存在,是类的容器,支撑代码的跨项目重用和程序部署两者是"部分与整体"的关系:类组成程序集,程序集承载类,共同构成.NET应用核心基础。
2026-01-09 18:01:21
891
原创 C#中常用的关键字的核心含义和作用(小白包看懂,巨详细)
摘要:C#关键字分为访问修饰符、返回类型和扩展行为三类。访问修饰符(public/private/protected/internal/protected internal)控制成员可见范围;返回类型(void/基础类型/复杂类型/Task)定义方法返回值;扩展行为关键字(static/async/virtual/override/abstract/sealed)改变方法执行特性。这些关键字共同实现C#的封装、继承、多态等面向对象特性,以及异步编程等功能,是C#编程的基础核心要素。
2026-01-09 10:49:57
758
原创 注册Github账号详细教程【超详细篇 适合新手入门】
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。百度百科-验证百度百科是一部内容开放、自由的网络百科全书,旨在创造一个涵盖所有领域知识,服务所有互联网用户的中文知识性百科全书。在这里你可以参与词条编辑,分享贡献你的知识。
2025-02-17 10:54:09
8294
原创 零基础,手把手教你本地部署DeepSeek
本地部署成功后,你还可以:1. 通过修改 `config.yaml` 调整模型参数(如温度、生成长度)2. 使用Nginx反向代理实现多实例负载均衡3. 接入微信机器人或Discord Bot开发智能助手。
2025-02-11 10:52:04
561
原创 在vue3项目中利用自定义ref实现防抖
总的来说,这段代码定义了一个名为 `debounceRef` 的函数,利用 `Vue` 中的 `customRef` 函数创建了一个具有防抖功能的自定义引用类型。在实际使用中,通过这个自定义引用类型进行数据读取和更新时,更新操作会按照设定的防抖延迟时间来执行,避免频繁触发更新,适用于一些例如输入框输入内容后延迟搜索等需要防抖的业务场景。
2025-01-08 19:52:45
978
2
原创 vue3+TS+vite中Echarts的安装与使用以及Echarts组件的封装
技术栈:Vue3+Ts+Vite+Echarts简述:图文详解,教你如何在Vue项目中引入Echarts,封装Echarts组件,并实现常用Echats图列。
2024-12-31 19:24:20
978
原创 重绘 重排(回流) 脱离文档流(脱标)
例如,在一个父元素 position: relative 的容器中,子元素设置 position: absolute,可以通过 top、bottom、left、right 属性来精确控制子元素在父元素中的位置。当DOM的结构发生变化(如元素的添加、删除、位置改变等),浏览器需要重新计算各元素的几何属性(位置和大小),这个过程就叫回流。例如,改变一个盒子的背景颜色,就会触发重绘。是指当元素的外观(如颜色、背景色、边框等)发生改变,但不影响它在文档流中的位置和尺寸时,浏览器对该元素进行重新绘制的过程。
2024-12-23 14:13:46
372
原创 pinia的使用
这就是 Pinia 的基本使用要求,通过合理地定义 store、操作状态,并在组件中使用,可以有效地管理 Vue 应用中的状态。首先,确保你的项目已经安装了 Vue.js(版本 3.x)。如果没有,请先安装 Vue。在你的 Vue 应用中,需要将 Pinia 挂载到 Vue 实例上。
2024-11-24 23:49:26
1583
原创 vuex和pinia的区别
1,uex是vue.js的状态管理工具,通过集中式的状态存储、响应式的state、getters、mutations、actions,modules,五个属性和模块化的设计,解决了复杂应用中状态共享和管理的问题2,适用场景:需要集中管理应用状态的场景1,Pinia是vue3的状态管理仓库,是vuex的现代代替方案,提供了更简洁的api和更好的Typescript支持,state ,getters,actions 三个属性1,API和语法特性。
2024-11-17 22:22:33
327
原创 axios三层封装(读这一篇就够了)
第三层封装第一层:把请求中的基路径,超时时间,拦截器等重复代码抽离到request中,遵循restful规范声明4个请求方式只暴露请求地址和请求参数第二层:把所有的请求按照模块进行划分,把请求地址封装起来,把请求参数暴露出来第三层:在vue组件中引入第二层封装,利用async / await 对异步代码同步化。
2024-11-10 18:27:37
977
原创 vue3常用指令
</div> 对象。v-if:利用元素的添加和删除来控制显隐,dom树中不存在,更安全,性能消耗更大,使用场景:适合安全要求较高的场景。<div v-for="(循环项,当前索引) in 列表数据" :key="唯一标识">
2024-11-03 18:43:03
1540
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅