记得刚接触电脑不久,总为这个家伙的‘记忆’感到新奇,为其寻找东西的‘准确性’而感到震撼,虽然这些已经远去,但其数据的存储和查找任然是
首要的功能,目前的问题是怎样让开发者和用户更好的更快速的处理和使用数据,在这里想分享一下本人的心得,不妥之处还请多多指教、、、、
我以前在对数据进行存储时,总是用.NET 自带控件,诸如DataSet, SqlDataAdapter , SqlCommand 等。。。开始用的很爽,但随着后面得修改,
那是越来越烦,.NET自动生成的代码总是弄得咋们云里雾里,所以现在想实现一个功能(存储方面)相差不大,且数据完成由我们自己掌控的一些类,这样
就可无拘无束了。
当然,这需要一些面向对象基础,因为这些是完全基于对象的。
数据存储使用最多的应该是表了,表是由记录组成,记录是字段组成,字段名和类型组成,那当然就从字段开始了:
存储字段简单,如:
源字段:
protected Dictionary<string, object> originalData;
当前要修改的字段:
protected Dictionary<string, object> currentData;
就这样就好了,只等待我们的存储了。
为了区别新数据和已经标记为删除的数据,定义两个BOOL变量:
protected bool isNew;
protected bool isDeleted;
这样,我们就可定义记录的构造函数了:
Code
public TableItem()
{
isNew = true;
isDeleted = false;
originalData = new Dictionary<string, object>();
currentData = new Dictionary<string, object>();
}
到此,就可这样去使用了:
假设有个表有6个字段:tc_mmstb001,tc_mmstb002,tc_mmstb003,tc_mmstb004,tc_mmstb005
那么就可写一个记录类了,
Code
public class mmstbItem : DataAwareObjectTest.TableItem
{
public mmstbItem(): this(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty){ }
public mmstbItem(string mmstb001, string mmstb002, string mmstb003, string mmstb004, string mmstb005, string ROWid)
{
currentData.Add("tc_mmstb001", mmstb001);
currentData.Add("tc_mmstb002", mmstb002);
currentData.Add("tc_mmstb003", mmstb003);
currentData.Add("tc_mmstb004", mmstb004);
currentData.Add("tc_mmstb005", mmstb005);
currentData.Add("rowID", ROWid);
originalData.Add("tc_mmstb001", mmstb001);
originalData.Add("tc_mmstb002", mmstb002);
originalData.Add("tc_mmstb003", mmstb003);
originalData.Add("tc_mmstb004", mmstb004);
originalData.Add("tc_mmstb005", mmstb005);
originalData.Add("rowID", ROWid);
}
(其中ROWID是ORACLE中的)
这样一个表的记录类就完成了---------------
好了,23:02了,眼睛痛了,休息咯---------
明天继续---------------------------------