软件三层基础
Md5Md5值特性Md5值算法 字符串文件 ,ToString 还可以这样用啊啊啊啊啊啊啊啊。。。。传参数X 2好流弊..非托管代码中不要弹出对话框,用bool 值代替 释

Md5
Md5值特性
Md5值算法 字符串

文件

ToString 还可以这样用啊啊啊啊啊啊啊啊。。。。传参数X 2好流弊..
非托管代码中不要弹出对话框,用bool 值代替 释放完资源后再弹出对话框
NPIO
excel 基本概念

文本和数字的概念 ’文本和数字之间转换

java 开源项目 apaqi 的poi 现在被改成了NPOI


导入导出
,
Datareader.read get读空值会报错 用isdbnull dbnull.value 数据库空值
空值 不能传空值
数据库语句参数化的时候,不能直接把null 传进去 不能 new SqlParameter(“@..”,null)
设置一个单元格的数据类型 cell


导入数据库的时候的类型判断

数据库导出的时候的类型判断


fromoadate 转化为标准时间
,多条件查询 牛逼


递归 (吃尽了苦头) 递归就是找规律
,
点击直接递归删除

只能这样写
深度遍历
还是深度遍历

小项目没必要分层 项目大分层
UI 坚决不能调数据访问层的东西
三层 业务逻辑层BLL 核心层 进行复杂的逻辑判断 UI 表现层:采集数据 展示数据 数据
,访问层DAL 层 数据访问层只是根据需求来简单访问数据库 得到的数据原封不动的返回给业务逻辑层 返回的可以是一个MODAL 也可以是一个LIST 集合
UI 表现层 采集数据 展示数据
确定需求 根据需求写SQL 语句 针对SQL 操作的每张表建立每个类(数据访问层) 在每个类中写相关方法 确定 参数和返回值
根据表现层采集的数据 确定业务逻辑层方法参数的个数与类型
根据表现层表现的数据 确定业务逻辑层方法的返回值

数据源绑定
displaymember 必须是属性 他使用的是反射


在三元运算符当中如果两个返回值的类型不同 可以用Object 来确定数值类型
,
C# double 对应数据库的float
设置单元格的显示格式

数据绑定。
把一个类绑定双向绑定到控件上 显示上面的属性的值。既然是双向绑定,控件就相当于一个集合,把东西放到集合里面,也可以获得这个集合。 可以设置显示哪个属性的值

treeview 的操作

巧用构造函数和委托
单例模式


最佳的单利模式
,
线程的简单用法
利用静态字段在第一次使用类之前只初始化一次的特性

窗口的单例模式
