1) 关于两个窗口,form1;form2;其中form1先启动,点击按钮产生form2对象,此时想在form2中用form1的文本框这个属性来显示值,该怎么办呢?
//用到了两个类的关系---组合。即就让在form1对象作为form2的一个属性,这样在form1启动form2时,让form1当前对象赋值给form2对象。即form1对象作为form2对象的成员,那么此时可以在form2中操作的form1对象了。
2)为了实现先显示登陆窗口,可以用模态方式,即form1先showDialog();然后再向下运行Application.run();
3) MD5散列算法,不是一种加密算法。 登陆实现方式:DB中保存MD5算法;这样用户
4) 尽量不用全局变量,因为数据具有易变性。
5)自己手写三层遇到的问题 1 查询操作时,遇到将DB中为'不知道'的值,变为MODEL中值;此时用到了是row.IsNull('Age')?null:(System.Int32?)row["Age"]; 2 新增操作时,将为null的值,添加到DB时,实际应添加为'不知道';
6)关于NPOI读取Excel
1 往DB中导入数据时,若单元格为空,则数据是'null',此时需要判断
if (row.GetCell(2) == null)
{
cust.TelPhone = "";
} else
{
cust.TelPhone = row.GetCell(2).StringCellValue;
}
2 往DB中导入数据时,若单元格应为字符串,却出现数字,此时应该判断
if (row.GetCell(3).CellType == HSSFCell.CELL_TYPE_STRING)
{
cust.MobilePhone = row.GetCell(3).StringCellValue;
}
else
{
cust.MobilePhone = row.GetCell(4).NumericCellValue.ToString();
}
3 往DB中插入数据时,最好应在DAL层中插入时,因为没有为实体对象赋值其默认就是null;进行判断是否为NUll,若是则就不插入。
4 展示数据时,若DB中有'不知道'的值时,所以再为Model类赋值之前,要进行判断。若是'不知道',则赋值为null(如何判断其一用DBNull.Value其二用row.IsNull("Age") );
但是,又有问题就是int,datatime是不能赋值为null的。所以应用可空类型(在值类型面前加上?);
但是,又有问题就是即便是可空类型但要实际的不是null的值可用 int? i = 0; if (i.HasValue) {"有值" }else{"无值"};
总之:model.Age=row.IsNull('age')?null:(System.Int32?)row["Age"];
5 导入数据时,防止重复的数据,所以在插入之前,要根据车号或者车架号进行匹配判断。
7) 关于NPOI写入Excel 1
8) 关于SqlServer版本数据同步问题
1 将各个地市的分店中的数据,同步到呼叫中心的DB中。
2 使用WebClient

浙公网安备 33010602011771号