随笔分类 - C#
简单、现代、通用的新型编程语言。
ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.
摘要:今天调试一个监控程序,放到环境里发现不写库,于是给SQL执行类异常事件做了个日志,发现报:ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.左看右看,没问题呀,后来才想起,using里没有执行db.Open,打开数据库连接。 public class SQLHelper : IDisposable { private IntPtr handle; private readonly Component com...
阅读全文
摘要:近期接手一个项目,其中一个功能是显示查验报告,查验标的有60种之多,特性如下:1、原有的数据库设计者,为每种标的建了一个表,每个表中的字段完全不相同;2、有些表的数据在输出时,需要进行一些格式化,而有些表的数据则不需要;3、有的报表除了默认表的数据外,还需要添加一些额外的数据;首先,每个表对应一个报表,我们可以视其为60个报表对象,它们有一些共同的属性(如:报表编号)和方法(GetReport),我们将它们抽取出来,定义成为接口IReport;其次,为了各种数据表不同的处理方式,我们采用委托来达到这个目标,在有委托方法传入时,调用委托方法处理数据。解决方案:1、建立报告模板,使用标签替换的方式
阅读全文
摘要:经过半年的摸索与不断实践,我的解决方案第一次成型,在此将目前的想法记录下来,以备来日回首。Blackice.WebApp.Common-------------------定义了一些静态类,用于完成字符串、文件、日期、数字的常用处理;Blackice.WebApp.Config----------------------BaseConfig中定义了一些静态变量,用于读取Web.Config中AppSettings中的一些设置,供全局使用;Blackice.WebApp.Interface-------------------IBusinessBase<T>定义业务类的CRUD,Ge
阅读全文
摘要:今天把项目在家Checkout,生成的时候提示“Lc.exe已退出 代码为-1”;找了半天才发现,原来之前引用的一个Syncfusion的东西,用来生成WORD的,后来没用,都没想起来。删除引用,问题依旧继续删除DLL,还是没解决。靠靠的。再仔细找找,找到licenses.licx删除,满怀希望重启VS,错误依然坚挺……百度半天,得一良方:打开csproj,搜licenses.licx,删除之,得救。
阅读全文
摘要:一、理论实例1、动态载入DLL创建对象 var assembly = Assembly.LoadFrom("C:\\Binn\\Sample.dll"); var t = assembly.GetType("Sample.Report"); var report = (IReport)Activator.CreateInstance(t);2、判断对象是否继承于某接口 Type t = typeof(ClsA).GetInterface("IB"); Conso...
阅读全文

浙公网安备 33010602011771号