C#总结
C++业余爱好者
很多人努力奔跑也很难追赶上年轻时的步伐,更何况,大部分人都是走走停停。
展开
-
SQLSERVER创建维护计划自动备份
创建维护计划向导设置维护计划执行周期维护计划执行作业原创 2021-12-07 11:46:56 · 954 阅读 · 0 评论 -
SQL语句根据分割符分割字符串
利用PARSENAME函数分割字符串DECLARE @str nvarchar(50)=N'NBA||湖人||老詹||MVP';SELECT PARSENAME(REPLACE(@str,'||','.'),4), PARSENAME(REPLACE(@str,'||','.'),3), PARSENAME(REPLACE(@str,'||','.'),2), PARSENAME(REPLACE(@str,'||','.'),1) ...原创 2021-12-04 17:11:43 · 1597 阅读 · 0 评论 -
秒懂 SCOPE_IDENTITY
场景表A主键是自增列,插入一条记录后想要获取这条记录主键的返回值,这时候可以用SCOPE_IDENTITY 。示例建表语句CREATE TABLE TestTable(ID int identity(1,1) not null,Name varchar(20) not null)插入记录,看是否能获取到主键的返回值INSERT INTO TestTable(Name) values('张三') SELECT SCOPE_IDENTITY()SELECT * FROM TestTable原创 2021-12-01 10:11:52 · 1651 阅读 · 0 评论 -
Visual Studio的解决方案文件夹
解决方案下新建一个解决方案文件夹NewFolder1NewFolder1下添加文件,工作记录查看window文件夹如下,并没有发现 文件夹NewFolder1和文件工作记录总结:VS添加解决方案文件夹,它只是虚拟的,并不会添加一个文件夹到你的目录中,只是在*.sln中记录解决方案文件夹的信息及文件夹下文件的信息。...原创 2021-10-28 10:59:39 · 1697 阅读 · 0 评论 -
C#捕捉SQLServer中的异常
C#程序调用SQLServer即使没有trycatch语句,如果发生异常也会被抛出并且在C#代码中捕获。我需要专门捕获SQL服务器超时异常,以便他们可以处理不同。我知道我可以赶上SqlException,然后检查如果消息字符串包含“超时”,但是想知道是否有一个更好的方法做到吗?try{ //some code}catch (SqlException ex){ if (ex.Message.Contains("Timeout")) { //handle原创 2021-09-17 13:30:09 · 891 阅读 · 0 评论 -
基于JWT.NET的详解
JWT是什么JWT全称是Json Web Token,是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准( RFC 7519 ),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名。JWT的结构JWT一般由三段构成,用.号分隔开,第一段是header,第二段是payload,第三段是signature,例如:eyJ0eXAiOiJK原创 2021-01-06 10:31:57 · 551 阅读 · 0 评论 -
C# 通过两个点及半径计算圆心坐标示例
double c1 = 0, c2 = 0, A = 0, B = 0, C = 0, y01 = 0, x01 = 0, x02 = 0, y02 = 0; c1 = (Math.Pow(x2, 2) - Math.Pow(x1, 2) + Math.Pow(y2, 2) - Math.Pow(y11, 2)) / 2 / (x2 - x1); c2 = (y2 - y11) / (x2 - x1); A = 1.0 + Math.Pow(c2, 2); B = ...原创 2020-12-18 14:45:54 · 1397 阅读 · 0 评论 -
C# Graphics+QrCode绘制二维码示例代码
//安装包 QrCode.Net //引入命名空间using Gma.QrCodeNet.Encoding.Windows.Render; QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H); QrCode qrCode = new QrCode(); qrEncoder.TryEncode("aiyouwoqu", out qrCode...原创 2020-12-15 16:50:36 · 512 阅读 · 0 评论 -
Bitmap创建图片、显示、保存方法示例
Bitmap image1; private void button1_Click(object sender, EventArgs e) { try { // Retrieve the image. image1 = new Bitmap(@"C:\Users\Administrator\Desktop\GGG\pic.jpg", true); ...原创 2020-12-01 15:23:05 · 697 阅读 · 0 评论 -
Winfrom打印组件
PageSetupDialog 使用户能够更改与页面相关的打印设置,包括边距和纸张方向。 此类不能被继承。PrintDialog 允许用户选择打印机,然后选择要从 Windows 窗体应用程序打印的文档的哪些部分。PrintDocument 从 Windows 窗体应用程序打印时,定义一种可重用的可发送到打印机上的对象。PrintPreviewControl 表示 Windows 窗体应用程序打印预览的原始预览部分,没有任何对话框或按钮。PrintPreviewDialog 表示对话框窗体,其中包原创 2020-11-10 11:21:40 · 256 阅读 · 0 评论 -
FastReport设置列高度自动调整
尝试了几种方法,这种设置应该是可以的。原创 2020-09-29 19:33:08 · 2559 阅读 · 0 评论 -
FastReport设计报表简单使用
网上FastReport教程较少,之前也没有接触,简单记录下设计过程。新建空报表,点击设置报表栏。新建数据区,数据首,数据尾,每个数据区根据匹配的数据源行数显示,数据首根数据尾一般进行表头跟合计显示。右击数据区,编辑-为每个数据区选中数据源。程序开发一般利用代码绑定数据源,进行设计、打印。...原创 2020-09-29 19:30:25 · 1228 阅读 · 0 评论 -
C#缓存二
介绍经过 《C# 缓存》 和《C#使用redis》作为缓存,我们可以了解C#中简单使用缓存的原理和代码。使用缓存,可以降低操作数据库频率进而提升性能。在使用缓存过程中,我们会遇到一个问题,就是做数据库操作的时候,当我们对数据库进行了改动,即进行增加删除更新操作的时候,我们如何处理缓存数据?1.改变改变数据库时改变缓存,2.改变数据库时情况缓存。我推荐后者,因为,第一种方案,是对两个数据源进行操作,这会牵扯到事务等等,提高了复杂性,而第二种,只有当我操作数据库成功时,才会去清空缓存数据。原理在上述两篇转载 2020-09-02 11:40:25 · 304 阅读 · 0 评论 -
Redis缓存
redis 缓存通过 《C# 缓存》 可以了解到,缓存其实,就是一系列的 key-value,而 redis 是典型的key-value数据库之一,那么,我们是不是可以借助 redis来实现缓存呢?答案是肯定的!实现代码是在 《C# 缓存》基础上修改的,代码分支为:dev_redis。在 《C# 缓存》中,是用C#自带的类库实现的缓存,那么,我们只要继承自 cachebase,并重写相关方法,就可以实现使用redis作为缓存服务器,在实现之前,我们先约定key值为 “n:name,c:key”来作为转载 2020-09-02 11:39:14 · 171 阅读 · 0 评论 -
C# 缓存
介绍缓存,在一定程度上,是可以提高程序性能的一个解决方案,比如,我们从数据库读数据,如果每次都从数据库读取的话,每次都需要进行 网络IO操作,需要等待网络数据返回,如果在60s内,有成千上百个访问进行同样的数据进行查询,将会更加耗时耗力……如果,我们将第一个访问者查询的数据,先保存起来,然后60s内,其他访问者均读取保存起来的数据,这样不需要再去重新查询数据库,减少一定的网络操作,所以说,缓存,一定程度上可以提高程序性能!这里将介绍如何使用C# 中的MemoryCache 来实现内存缓存!建立项目用转载 2020-09-02 11:37:53 · 2873 阅读 · 1 评论 -
C#基础继承的概念
1.继承的类型:实现继承(派生类继承基类)/接口继承.其中C#不支持多重实现继承,但是支持多重接口继承.2.结构不支持实现继承,但是支持多重接口继承,类支持实现继承与多重接口继承.3.实现继承,语法如下:class MyClass:MyBaseClass{ //functions and data members here}如果类继承自基类也继承自接口,那么先继承基类,在继承接口,语法如下:class MyClass:MyBaseClass,IInterface1,IInterface2原创 2020-06-11 19:07:12 · 474 阅读 · 0 评论