![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
Hello World,
这个作者很懒,只留下一些什么…
展开
-
Dapper使用自定义表类型的参数
Dapper1.26及以上版本可以使用自定义类型的表值参数,方便将DataTable类型直接作为一个参数传递到数据库服务器上。两种方式的结果都是一样的。原创 2023-07-14 14:38:22 · 486 阅读 · 0 评论 -
.NetCore5实现无限递归查询
使用.NetCore5 EF来实现无限级树形结构查询,操作很简单,直接查询即可,可以使用FromSqlRaw或者普通的查询都可以。查询结果.ToList(),再过滤掉不符合条件的项目。查询时不要使用AsNoTracking,否则不能生成下级内容。示例代码:部门类: public partial class Department { public Department() { InverseParent = new HashS原创 2021-09-15 16:43:42 · 1656 阅读 · 0 评论 -
Excel格式问题的处理
问题Excel中的日期自动变成整数 设置的边框等格式在重新打开后消失 操作反应变慢原因分析在Excel中多次的复制粘贴、修改样式会不断积累许多单元格的样式设置,当样式过多时就可能出现混乱的情况。解决办法经过实践,可以将样式删除后重新设置格式即可恢复正常。但普通的删除方法通过遍历处理可能会非常的慢,比如以下的代码,通过VBA来处理,有些文档样式几百上千个的时候慢得很:Ap...原创 2020-05-04 16:25:17 · 378 阅读 · 0 评论 -
Aspose.Words导出主从表格
先看效果有客户数据,放个缩小图,可以看到里面包含若干个不同客户/供应商的对账单,每个对账单分页模板设置主要就是两个TableStart和TableEnd嵌套使用:合并操作关系设置因为是主丛表,所以要设置两个表之间的关系,例如像下面这样设置:dataset.Relations.Add(dataset.Tables[0].Columns["cCusCod原创 2017-05-27 16:39:21 · 1497 阅读 · 0 评论 -
用ASPOSE.Cells将HTML表格存为Excel
前端生成的html表格经常需要导出到excel中,利用JS和Office控件可以做到,但仅限于IE,还要启用安全设置。想找一个简单的办法将HTML内容直接转换成Excel文件,如果直接修改网页头信息输出,虽然可以导出,但打开时会提示格式不是Excel的,怎样才能导出真正的Excel文件?aspose.cells是个功能强大的控件,可以方便的生成excel文件。经考虑,将html发送原创 2015-04-18 14:38:52 · 5914 阅读 · 2 评论 -
Aspose.Words使用模板导出数据库中图片内容
做模板图片字段,前面加上一个Image:然后看上去就像这样:合并代码:其中有一个doc.MailMerge.FieldMergingCallback = new HandleMergeFieldInsertDocument();,是合并的事件,自己定义的 SaveFileDialog dialog = new SaveFileDialog(原创 2017-05-27 16:19:59 · 3486 阅读 · 7 评论 -
利用AForge+Tesseract制作视频OCR程序
先上界面:实现功能及流程:1:从摄像头获取图像,框选要识别的区域2:对选区进行图像处理,方便识别3:识别文字4:获取芯片上的内容(使用客户提供的芯片解码程序)5:比较两个内容是否一致6:写入数据库(带图片)7:对历史数据进行查阅、导出Word(导出时带图片)此版本将4~7功能去除了获取图像:使用AForge组件(参考项目:http原创 2017-05-11 17:34:02 · 3212 阅读 · 8 评论 -
tessnet2和3版本混用后程序错误的解决
这几天在使用tessnet2开发OCR程序,开始是使用2.0.4.0版本,程序正常。后来测试使用3.0.2.0的Tesseract,结果回来发现2.0.4.0的用不了,提示Unable to load unicharset file C:\Program Files (x86)\Tesseract-OCR\eng.unicharset看上去是加载语言包的路径不正确。原创 2017-05-11 17:06:31 · 1274 阅读 · 0 评论 -
C# INI文件读写类
public class Ini { // 声明INI文件的写操作函数 WritePrivateProfileString() [System.Runtime.InteropServices.DllImport("kernel32")] private static extern long WritePrivateProfileString(转载 2017-02-21 10:00:58 · 628 阅读 · 0 评论 -
C# Winform ListView实现单元格双击复制内容到剪贴板
private void listView_MouseDoubleClick(object sender, MouseEventArgs e) { ListView listview = (ListView)sender; ListViewItem lstrow = listview.GetItemAt(e.X, e.Y);原创 2017-02-18 17:41:38 · 8116 阅读 · 0 评论 -
用友U8二次开发之登录
首先引用U8的登录DLL:然后是调用U8的登录UI:UFSoft.U8.Framework.Login.UI.clsLogin U_Login = new UFSoft.U8.Framework.Login.UI.clsLogin();U_Login.login("DP")其中DP是门户子系统的代码,如果不调用U8的业务系统功能,直接用DP登录到门户就可以了原创 2017-05-31 11:58:29 · 13670 阅读 · 7 评论 -
C#封装USB继电器C++操作类
要控制的东西:淘宝上面有很多,1路到8路都有。可以通过控制继电器的开关来实现电路管理。有C++调用的示例。以下代码百度来的,C#封装了调用的代码:namespace usb_relay_device{ public static class UsbRelayDevice { /// /// Init the USB Relay Libary原创 2017-06-14 11:15:45 · 3356 阅读 · 4 评论 -
C#调用AutoIt3的DLL功能
首先下载安装版的AutoIt3,安装后有个AutoItX3.dll,添加引用。然后添加类文件: public class AutoItX3Declarations { //NOTE: This is based on AutoItX v3.3.0.0 which is a Unicode version //NOTE: My comments转载 2017-06-14 11:48:04 · 3234 阅读 · 0 评论 -
C#中使用NRegFreeCom动态加载AutoIt3DLL
NRegFreeCom项目地址:https://github.com/OpenSharp/NRegFreeCom项目介绍:Load native libraries, call native functions, do COM objects without registration, do COM registrations in runtime, in .NETCO原创 2017-06-14 15:30:18 · 1254 阅读 · 0 评论 -
C#批量为图片添加边框、日期、宝宝信息
程序实现为照片批量添加文字说明的功能可以设置标题、添加宝宝的年龄信息。如果相机的日期不正确时还可以通过程序对日期调整。可以添加多种效果:阴影、透明度、图片边框、文字描边等。程序默认会对照片调整,内置了多种照片的尺寸,以300dpi的分辨率计算最终尺寸。尺寸调整时不会变形,以最长边为基准。可以保存当前照片的处理结果,也可以处理所有列表中的图片,或者处理选中部份的图片,比较灵活。可以添加多个宝原创 2017-07-29 14:46:31 · 809 阅读 · 0 评论 -
从提交表单中通过反射获取多个对象
/// /// 从提交表单中通过反射获取多个对象 /// /// 对象的类 /// 表单前缀 /// 以第对象的几个字段作为基准,这个字段要求在提交的数据中必须存在 /// 是否忽略大小写,默认是忽略大小写 /// 指定对象的列表 private static Lis原创 2017-07-20 16:08:16 · 914 阅读 · 0 评论 -
C#用反射判断一个类型是否是Nullable同时获取它的根类型
在我们的应用程序中我们使用类描述我们的业务对象,为我们产生一些报表之类的,那就依赖大量不同的对象,我们创建一个帮助方法来转换我们的业务对象,或是一个List的业务对象到DataTables.由于数据库表中字段可为null,对应.net 2.0以后我们可用Nullable类型来实现,那当我们业务对象类中字段有null时,并需要转换为DataTable时,这个场景产生,你可能用到以下方法:转载 2017-08-05 10:40:20 · 4878 阅读 · 0 评论 -
C# DataTable转为对象或对象列表
需求:从DataTable中直接生成指定类的对象或对象列表使用:datatable.ToListModel();代码:using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Web;/// /// DataTableToModel 的摘要说原创 2017-08-09 16:43:05 · 8699 阅读 · 0 评论 -
SQL Server表值参数使用
SQL Server自2008版本开始支持表类型的参数,可以用于存储过程、函数等,也可以直接使用C#等语言调用SQL直接查询。首先创建一个表值类型:设置表格参数(后面变化时不可直接修改,需要删除重建):USE [test]GO-- Create the data typeCREATE TYPE dbo.type_testStruct AS TABLE ( ID INT NOT NULL...原创 2018-04-06 17:47:44 · 8169 阅读 · 1 评论 -
C#嵌套类
{ "children" : [{ "children" : [{ "children" : [], "name" : "b" } ], "name" : "aaa" }, { "children" : [{ "children" : [], "name" : "t22Name" }, { "child原创 2016-06-29 18:00:38 · 1894 阅读 · 2 评论 -
强类型Dataset使用事务(改进原有方法)
转自:http://blog.csdn.net/nfbing/article/details/5803980关于强类型Dataset的用法和好处,我就不再多说,网上关于这方面的资料很多 , 感兴趣的话可以在GoOGLE搜一下。我们直奔主题,好处是很多,但若使用事务的话就不方便了。最近通过查找国外的资料,总于找到解决的方法。经过自己测试发现很好用,所以把代码贴出来,给正处原创 2015-11-21 16:11:44 · 1987 阅读 · 0 评论 -
C#获取变更过的DataTable记录的实现方法
本文实例讲述了C#获取变更过的DataTable记录的实现方法,是一个非常实用的功能!具体实现方法如下:首先DataTable可以看做是一个物理表的内存式存储,每一个DataRow都有一个属性叫做RowState。因此任意一行中某一个字段发生改变,那么整个DataRow的RowState也就发生了改变。RowState是一个枚举,其中包含5个内容:1)Detached:未被附加(一转载 2016-03-17 17:07:22 · 2189 阅读 · 0 评论 -
TransactionScope使用说明
TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间。它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物。使用之前必须添加对 System.Transactions.dll 的引用。 下列代码就是一个正在创建的事务,这个事务自身还封装了多个数据库查询。只要任意一个 SqlCommand 对象引发异常转载 2014-06-26 11:50:32 · 663 阅读 · 0 评论 -
C#常用加密方法
using System;using System.IO;using System.Security.Cryptography;using System.Text; /// /// Encrypt 的摘要说明/// public static class Encrypt{ #region 解密由AES加密的字符串 /// /// 解密由AES加密的字符串转载 2014-05-10 11:58:58 · 1239 阅读 · 0 评论 -
asp.net C#绘制太极图
html页面:注意设置原创 2014-05-09 15:41:12 · 766 阅读 · 0 评论 -
C#调用VB进行简繁转换
首先在C#项目中引用Microsoft.VisualBasic.dll,版本自己选择合适的然后在原创 2014-04-19 10:25:51 · 995 阅读 · 0 评论 -
利用System.Uri转URL为绝对地址
在使用ASPOSE.Word生成Word文档时可以通过InsertHtml(html)来将图文信息写入Word文档(图片内嵌),但要求html里图片的src是绝对全路径,所以需要对html进行转化。 获取html可以来自数据库数据或者通过网络抓取,得到之后使用System.Uri来进行替换即可。 示例:Uri uri = new Uri(http://www.baidu.com原创 2013-08-09 11:46:40 · 4473 阅读 · 0 评论 -
C#5种方式生成缩略图
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Drawing;using System.IO;namespace MyTest{ class imgThumbnail { public转载 2013-08-02 16:33:56 · 1664 阅读 · 0 评论 -
随机洗牌
#region 随机洗牌 int[] ints = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; List list=ints.ToList(); int[] outs = new int[20]; Random rand原创 2013-05-14 17:27:18 · 654 阅读 · 0 评论 -
输出由1~9组成和三组三位数,第二组是第一组的2倍,第三组是第一组的3倍,三组数字中无重复数字
//输出由1~9组成和三组三位数,第二组是第一组的2倍,第三组是第一组的3倍,三组数字中无重复数字 for (int i = 123; i <= 333; i++) { int j = i * 2; int k = i * 3; string str = i.ToString() +原创 2013-05-14 17:25:56 · 1649 阅读 · 0 评论 -
C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
今天打开一个之前写的程序,原创 2014-04-15 10:37:52 · 71380 阅读 · 4 评论 -
分布式事务TransactionScope
分布式事务TransactionScope以下是分布式事务的所有情况的例子了,包含了事务套事务,事务套存储过程事务,经过测试,TransactionScope对于分布式事务的各种情况支持的很好。使用分布式事务注意如下几点:1:确保参与事务的machine开启了分布式事务支持;2:如果machine开启了防火墙,需要设置msdtc进程为例外;3:参与事务的mach转载 2014-06-26 11:59:00 · 1451 阅读 · 0 评论 -
C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法
from:http://www.jb51.net/article/71319.htm本文实例讲述了C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法。分享给大家供大家参考。具体实现方法如下: protected override void WndProc(ref Message m) { if (m.Msg转载 2016-01-06 09:13:55 · 5376 阅读 · 0 评论 -
C#压缩图片时保留原始的Exif信息
啥是Exif信息,有啥用,百度百科有解释:http://baike.baidu.com/link?url=fJ6RjAc8XvCmCL-9q1wHKoGEIzPmspyBDI0GU1RbnTr9lGDWdpiCDC1C4FZ3YXp9OFFHnrZJFDgj8XTwX__QNK总之,这东西对摄影爱好者来说是不可或缺的,通常使用Photoshop来压缩只要不是保存为Web格式都会原创 2015-09-12 09:47:12 · 2124 阅读 · 0 评论 -
Newtonsoft.Json转换强类型DataTable错误:Self referencing loop detected with type ......
问题,在使用Newtonsoft.Json对强类型的DataTable进行系列化时会出现循环引用错误解决办法,不要直接系列化强类型的DataTable,改为JsonConvert.SerializeObject(dt.DefaultView.ToTable());系列化缺省视图转换出来的DataTable原创 2015-07-07 08:49:37 · 4001 阅读 · 1 评论 -
C#获取邮件客户端保存的邮箱密码
有时候邮件客户端记录了邮箱密码,但自己却忘记了,此时可以使用C#建立一个临时的“邮件服务器”,截取密码: IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 110); TcpListener tcpServer = new TcpListener(ipEndPo转载 2015-06-04 09:06:21 · 1913 阅读 · 3 评论 -
在 C# 中使用文件名启动应用程序
本文演示了如何启动与某一给定文档扩展名或文件类型关联的应用程序而又无须知道该关联应用程序的名称或位置。例如,您可以用一个与 .bmp 文件扩展名关联的应用程序启动 Arcade.bmp 文件,多数情况下此应用程序就是 MSPaint.exe。要求 Microsoft C# .Net 包括名称空间 名称空间必须出现在类声明之前,如下所示:using Sys转载 2015-05-22 16:08:11 · 1584 阅读 · 0 评论 -
C#实现全窗体范围拖动
using System.Runtime.InteropServices; [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMes转载 2015-05-22 17:05:18 · 679 阅读 · 0 评论 -
C#遍历枚举(Enum)值
foreach (object o in Enum.GetValues(typeof(EmpType))) { Console.WriteLine("{0}:{1}", o, Enum.Format(typeof(EmpType), o, "D")); }原创 2014-09-26 11:22:10 · 9376 阅读 · 0 评论 -
C#调用存储过程详解
转自:http://www.2cto.com/kf/201107/98150.html本文的数据库用的是sql server自带数据Northwind连接字符串:转载 2014-07-10 10:35:51 · 849 阅读 · 0 评论