自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 资源 (5)
  • 收藏
  • 关注

原创 C#Winform + RFID刷卡串口通信老是卡死

原来RFID刷卡在serialPort_DataReceived方法中触发回调函数的时候,需要给登录界面用户ID赋值,然后自动点击登录按钮的时候,在登陆按钮功能中需要把登录界面隐藏,并且需要把登录界面绑定的SerialPort的端口号Close(),原因就是。在登录界面通过RFID刷卡然后实现自动登录,一刷卡就会卡死。但是手动输入账号登录却没有问题。不会阻塞工作线程,也就是读取数据的线程立即完成。在登录界面通过RFID刷卡然后实现自动登录。会阻塞工作线程,也就是阻塞读取数据的线程。

2023-05-11 14:29:25 16 1

原创 C# ex.StackTrace 异常定位行号不显示的问题

使用ex.StackTrace输出信息,如上图所示,不显示报错行号。每次更新程序没有更新pdb文件或者pdb文件丢失,所以行号不显示。下图删除YX.pdb文件,再运行测试一下。

2023-04-07 16:37:08 105

转载 C# Task.Run调用外部参数For循环 i

Task.Run是在新的线程中异步执行的,在 for 循环中 Task 并不会立即执行,“i会一直是10”说明 for 循环结束后,Task 才开始执行,这时 i 的值正好是 10。这说明 i 的值没有被捕获到 Task 的执行上下文中,也就是说 i 变量的值不在捕获范围内,要想让 i 被捕获,需要引入中间变量,下面的代码就可以正常执行。

2023-01-14 18:48:00 334

原创 JSON格式化报错“Bad string on line“

JSON信息:{“TransactionName”: “EQPSTATUS”,“EqpNo”: “EX0013”,“UserID”: “744593”,“StatusCode”: “1”,“CycleTime”: “1.7”,“OutPutQty”: “1000”,“Target_OutPutQty”: “10000”,“WONO”: “1KB1840001-T”,“ErrorCode”: “”,“Availability”: “”,“ParameterList”: “[ {“P_N

2022-12-07 16:49:32 792

转载 Sql SqlServer 脏读、 不可重复读和幻读

1.脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问这个数据,然后使用了这个数据。不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。例如,一个编辑人员两次读取同一文档,但在两次读取之间,作者重写了该文档。当编辑人员第二次

2022-12-06 19:43:48 365

原创 get和post关于请求头中的Content-Type理解

Content-Type 里指明了数据是以 multipart/form-data 来编码,上面提到的这两种 POST 数据的方式,都是浏览器原生支持的,而且现阶段标准中原生\ 表单也只支持这两种方式(通过 元素的 enctype 属性指定,默认为 application/x-www-form-urlencoded。浏览器的原生 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。............

2022-08-16 19:10:14 3068

原创 ASP.NET的MVC模式中分布页和布局页的使用

大概描述一下,分布页是布局页的一部分,分布页就相当于小图标,布局页就相当于PPT模板,PPT模板可以加入一些小图标(分布页),你只需要改改内容就好,视图创建的时候要选择包含布局页的。然后去Views文件夹下面创建Shared文件夹,位置一定要创建对了(某次测试小编就创建错了地方了,结果弄了一个小时才找到错误,?首先,去Controllers创建两个控制器,先不要创建视图。然后创建布局页(如果这里没有的话,就去新建项里面找)先创建分布页(如果这里没有的话,就去新建项里面找)然后打开控制器右键添加视图。...

2022-08-05 14:43:59 262

转载 _ViewStart.cshtml介绍

ViewStart.cshtml 文件的作用:一般是用于存放MVC网站中所有视图公用的js,css等文件。这样就不需要在每个视图中都拖一个js,css等文件进来了。Controller中方法必须以return View()来返回视图才先执行_ViewStart.cshtml 如图。MVC中执行任何一个视图之前都要先执行Views文件夹下的 _ViewStart.cshtml 视图的内容。当Views文件夹中的其他文件夹也添加了_ViewStart页面的时候执行顺序如下。......

2022-08-04 16:25:13 482

转载 SQLServer分表项目方案总结

在上一篇文章(SQLServer分表项目方案总结)中介绍了分表大致流程和步骤,本篇文章以一个模拟的数据表为例,为您介绍从分表前到分表结束整个过程的大致处理逻辑。

2022-07-29 10:44:46 981

原创 SQLServer DateTime类型比较大小避坑篇

SQLServer DateTime字段类型对应的时间格式是 yyyy-MM-dd HH:mm:ss.fff ,3个f,精确到千分之三秒,示例 2014-12-03 17:06:15.433 。(9、0、1) 会引起进0调整;(5、6、7、8)引起7调整;(2、3、4)引起3调整。

2022-07-27 14:34:25 1510

转载 SQL注入是什么,如何避免SQL注入?

SQL注入已经成为互联网世界Web应用程序的最大风险,我们有必要从开发、测试、上线等各个环节对其进行防范。下面介绍SQL注入的原理及避免SQL注入的一些方法。

2022-07-22 20:13:06 653

转载 数据库主键设计用自增还是用 GUID比较好

使用自增的方式做主键的优点:1、数据的存储空间小,节省空间。2、insert和update操作时使用INT等类型性能会比GUID好,但是优势在15%以下。int自增序列 GUID性能测试http://blog.csdn.net/fox123871/article/details/65789223、可读性会好,对人类友好一点。5、支持通过函数获取最新的值,如:Scope_Indentity() 。123456789使用自增的方式做主键的缺点1、如果经常有合并表的操作,就可能会

2022-07-20 14:07:03 548

原创 Winrar自动备份文件

1.创建个快捷键,修改Target,加上 “-cpshowdoc-bak”2.Windows任务计划创建任务:

2022-06-24 16:35:18 144

原创 Winform 非UI线程更新UI控件 Control.Invoke 和 Control.InvokeRequired

一般Windows程序的UI线程只有一个,UI相关的更新都应该发生在UI线程上,才能保证安全。因此实际工作中,我们要学会怎么在一个非UI线程中转向UI线程中执行代码(或者通知UI线程执行某段代码)使用WinForm的Control.InvokeWinForm的每个Control都有一个属性(InvokeRequired)和一个方法(Invoke)用来在UI线程执行代码。Control.InvokeRequired属性指示当前线程是不是创建Control的线程。所以这种方法一般有以下的结构public

2022-05-24 18:04:37 226

原创 Redis Set之后Double类型丢失精度,如何解决

Set的时候可以转为String类型。Get的时候转为类即可。不丢失精度。return new StackRedisHelper().HashGetAllDynamic(RedisCustomKey.TCPS_LotRuleConfig + lotNum).ParseDictionaryToModel<LotRuleConfigDto>().ToJsonString();public Dictionary<string, dynamic> HashGetAllDynamic(

2022-04-20 17:27:06 1186 1

转载 【SQL Server】修改自增列当前起始值

情景有一列自增字段,当 插入数据失败 或 删除了一部分数据,这时我们再插入数据的时候,自增字段中间断掉/跳号… (不影响正常使用那如果非要连续的话,可以使用以下方法重置自增起始数1、先检查一下现在起始数(最后一个已插入数)是多少DBCC checkident([table_name], NORESEED)比如你看到表里目前插到id 55但是 DBCC 检查当前起始数是 72(下一个会插73)DBCC checkident(my_table, NORESEED)输出:检查标识信息:

2022-04-18 18:07:03 3343

原创 NPOI.MAPPER 导出Excel只有10条数据

var mapper = new Npoi.Mapper.Mapper(path);//读取的sheet信息 var plat_MachineRNAndFBNConfig_DtoRows = mapper.Take<Plat_MachineRNAndFBNConfig_Dto>(); List<Plat_MachineRNAndFBNConfig_Dto> plat_MachineRNAndFBNConfi...

2022-04-13 12:34:54 353

原创 EF实现查询结果集优先级

业务开发中经常遇到案例:条件1条件2条件3条件4优先获取满足条件的第一条数据。解决方案: 使用SQL语句的case when 或者 EF 的 三元表达式。var generalWorkOrder =( from a in db.Plat_OutPut join b in db.Plat_LotRuleConfigon a.LotNum equals b.LotNum //普通料:不鍍銅,有鉛 where (!b.MatGroupNum.Contains("鍍銅") &

2022-03-30 17:23:56 421

原创 C# DataTable的DataColumn和DataRow数据绑定,DataGridView Datasource数据绑定DataTable,List

1. datasource数据绑定根据列名的DataPropertyName进行数据绑定,HeaderText数据显示2. datasource数据绑定

2022-03-16 18:48:43 1874

转载 SQL SERVER-查看语句申请锁的情况

SQL SERVER-查看语句申请锁的情况想要观察一个SQL语句运行过程中申请了哪些锁,打开一个查询写入要被观察的SQL--查询当前会话的sessionIDSELECT @@SPIDSET TRANSACTION ISOLATION LEVEL REPEATABLE READBEGIN TRANSELECT [data] FROM [MyTable] WHERE [index_column]>30 AND [index_column]<40 ---执行了上面的SQL

2022-03-09 18:08:49 204

转载 var和dynamic的区别

1.var与dynamic的区别C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,但其实它们是有本质的区别的。var 在编译阶段已经确定类型,在初始化时候,必须提供初始化的值,而dynamic则可以不提供,它是在运行时才确定类型。 static void Main(string[] args) { //var 在编译阶段已经确定类型 var number = 3; //dynamic在编译期

2022-02-10 17:23:37 331

原创 RSA非对称加密方式

什么是非对称加密非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;非对称加密的优缺点非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。  非对称加密的缺点是加密和解密花

2022-02-08 15:25:20 942

原创 仓储模式和传统三层架构多数据库实现

仓储模式:通用方法public class DepartmentRepository : RepositoryBase<DepartmentEntity>, IRepositoryBase<DepartmentEntity>{}/// <summary>/// 仓储接口/// </summary>/// <typeparam name="TEntity">实体类型</typeparam>public interfac

2022-02-08 10:14:00 1809

转载 解决DataGridView 控件必须绑定到IBindingList才能排序方法

DataGridView使用List做数据源:List people = new List();//tododataGridView1.DataSource = people;调用Sort方法排序出错,提示:引用内容DataGridView 控件必须绑定到 IBindingList 对象才能排序我们知道,使用DataTable做数据源时排序是没问题的,所以首先想到的是有没有办法将List转成DataTable?有网友提供了两个扩展方法经测试可行:public static class Dat

2022-01-27 13:47:11 875

原创 EF多表外键关联,新增数据的时候外键错误

报错:(外键FK_Base_RoleRight_Base_Role约束错误,要求在dbo.Base_Roles表中的列名"Roles_ID"的值存在)The INSERT statement conflicted with the FOREIGN KEY constraint “FK_Base_RoleRight_Base_Roles”. The conflict occurred in database “SAM_DB”, table “dbo.Base_Roles”, column ‘Roles_ID

2022-01-18 11:51:41 634

原创 <T>是泛型,传入的参数是T,绝不能传入List<T>

C#的<T>是泛型。List 是集合。 List<T>是泛型集合。例如以下两种方法传参数时要注意: 传入的参数是T,绝不能传入List<T>/// <summary>/// 新增一个对象/// </summary>/// <typeparam name="TEntity"></typeparam>/// <param name="entity"></param>public void

2022-01-15 17:36:44 1148

原创 Winform DataGridView数据绑定,数据读取

datagridview1.datasource可以绑定datatable ,List<T>.不能绑定 \T类型。转为List<T>如果之前有数据绑定,如下的方法可转datagridview1.datasource as List<T>

2022-01-14 10:37:26 5524

转载 Store update, insert, or delete statement affected an unexpected number of rows ({0}).

原因分析使用 Entity Framework 更新记录时出现上述异,原因是 Model 或 Entity 实体对象的 Key 值没有赋值,无法在数据库对应表中找到对应的记录,也就无法执行更新操作。

2022-01-13 19:57:30 1603

转载 .Net Core Excel导入导出神器Npoi.Mapper

前言我们在日常开发中对Excel的操作可能会比较频繁,好多功能都会涉及到Excel的操作。在.Net Core中大家可能使用Npoi比较多,这款软件功能也十分强大,而且接近原始编程。但是直接使用Npoi大部分时候我们可能都会自己封装一下,毕竟根据二八原则,我们百分之八十的场景可能都是进行简单的导入导出操作,这里就引出我们的主角.Net Core Excel导入导出神器Npoi.Mapper了。简介关于Npoi.Mapper看名字我们就知道,它并不是一款创新型的软件,而是针对Npoi的二次封装增强了关

2022-01-08 14:11:17 727

转载 关于ASP.NET MVC+EF报错提示“不支持关键字: “data source......meta data“之类的

常见错误:不支持关键字: “data source=(local);initial catalog”.不支持关键字“meta data”网上大多解决办法是:1.data source之间需要插入一个空格或者都是一些低级的拼写错误造成的,2.或者通过把data source改成server解决的…本人遇到的问题,以上均无法解决,最后经过分析后,发现主要原因在于:1.使用ADO.NET和EF混合使用造成的(首要原因)2.或者是连用的连接字符串里面的,路径有问题导致的,出现这样的情况在于多次重

2021-12-27 14:17:40 784

原创 SQLSERVER 导入的中文变为 乱码

先新建数据库,修改如下图,最后在导入SQL语句

2021-12-27 14:01:18 1240

转载 ASP.NET_SessionId 何时生成?何时失效?有何作用呢?

相信做asp.net web开发的码友们,对ASP.NET_SessionId一定不陌生。ASP.NET_SessionId保存在浏览器cookie中。那么它是来源于哪里?何时生成?何时失效?有何作用呢?带着这些疑问,我们开始探寻它。废话不多说,实践才是检验真理的最好方法,直接上代码。打开VS建立一个APS.NET MVC 程序,在HOME页面添加如下代码:clearSession和clearSessionId这两个是ajax方式请求过去的,不会刷新页面,对应的后台方法如下:对应的action代

2021-12-24 17:58:26 2310

转载 抽象类可以有构造函数吗

我们知道,抽象类是不能被实例化的。但抽象类是否可以有构造函数?答案是可以有。抽象类的构造函数用来初始化抽象类的一些字段,而这一切都在抽象类的派生类实例化之前发生。不仅如此,抽线类的构造函数还有一种巧妙应用:就是在其内部实现子类必须执行的代码。以下就是在抽象类的构造函数中来初始化字段。class Program{ static void Main(string[] args) { Employee employee = new Employee();

2021-12-21 15:31:55 1288 1

转载 企业库学习--配置文件及数据库链接创建

<? xml version="1.0" encoding="utf-8" ?>< configuration > < configSections > < section name ="dataConfiguration" type ="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.Enterpris

2021-12-20 17:22:48 222

转载 ASP.NET MVC Area 的使用

MVC提供Area机制,在同一个项目之内就能够切割出不同的ASP.NET MVC网站。插入:首先在相同的位置,比如说同一个文件夹(如:Controllers)是不能创建俩个相同名称的文件(如:HomeController),其次在不同的文件夹中如fold1和fold2,中各自创建一个TestController,程序能够通过编译,但当浏览器视图执行/Test时,网站报出异常,如图:因为在默认情况下,路由会同时匹配两个controller,造成无法访问。在项目上,右键,创建区域,问题解决。出处:htt

2021-12-13 19:14:44 277

原创 C# 构造函数继承有什么作用

class Program{ public static void Main(string[] args) { ClassA clsA = new ClassA(); Console.WriteLine(); ClassA clsA1 = new ClassA("1"); Console.WriteLine(); Console.ReadKey(); }}public class Base{

2021-12-13 17:02:57 100

原创 ASP.NET MVC5(五):身份验证、授权

使用Authorize特性进行身份验证  通常情况下,应用程序都是要求用户登录系统之后才能访问某些特定的部分。在ASP.NET MVC中,可以通过使用Authorize特性来实现,甚至可以对整个应用程序全局使用Authorize特性。Authorize的用法本节以一个添加产品的示例来说明Authorize的使用方法。首先,创建Product类、添加属性(如下所示)并创建ProductsController(MVC5 Controller with views,using Entity Framewor

2021-12-13 14:30:34 583

原创 EF状态System.Data.EntityState

System.Data.EntityState一共有五种状态分别是Added,Deleted,Modified,UnChanged,Detached下面给一个简单的解释System.Data.EntityState.Added在上下文中,而且对象是需要添加的状态System.Data.EntityState.Deleted在上下文中,而且对象是需要删除的状态System.Data.EntityState.Modified在上下文中,而且对象是需要修改的状态System.Data.Entity

2021-12-09 19:15:20 664

转载 「附加依赖项」、「库目录」和「包含目录」是什么?

本文解决的问题:1、附加依赖项、库目录和包含目录是什么?2、VS中怎么添加附加依赖项、库目录和包含目录包含目录:#include < .h>中 .h的搜索目录。如果有XXX.h找不到,设置这个目录可以解决。附加依赖项:lib库 。 C++的库会把函数、类的声明放在.h中,实现放在.cpp或.cc中。编译之后,.cpp,.cc,.c会被打包成一个.lib文件,这样可以保护源代码。所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。这个就是在附加链接库中设

2021-11-30 20:10:05 1309 1

原创 Process.Start传参数的时候注意事项

每个参数本身一定不能存在空格(假如参数是一个路径,那么路径不要包括空格)。因为Process.Start的参数就是通过空格来拆分的,切记切记。

2021-11-30 17:59:33 384

ASP.NET SessionId.rar

SessionId研究

2021-12-24

AspNetIdentity.rar

ASP.NET Identity +Owin案例源代码

2021-11-15

ASP.NETMVCDemo7.rar

七天学会ASP.NET MVC (第7天)代码

2021-11-03

Asp.net MVC 数据库dbo.sql

数据库资源

2021-05-31

ASP.NETMVCDemo.rar

七天学会ASP.NET MVC (第1天-第6天)代码

2021-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除