数据源对象,用于与数据库进行交互。WnDataSource对象在调用模块主窗体的
Assemble
方法时装载,配置信息来源于窗体界面设计
的数据源配置信息。
WnDataSource主要有以下两个属性:
|属性|说明| |-|-| |KeyValues|类型为Hashtable,关键字集合,用于替换数据集中的关键字| |DataSets|类型为Hashtable,存储获取到的DataSet对象|
KeyValues中数据的来源
- 可以在写代码的时候通过
wnDataSource.KeyValues["xxx"]=xxx
的方式赋值- 通过方法参数传递的关键字也会添加到KeyValues中
WnDataSource主要有以下几个方法:
public Hashtable GetDataSet(Hashtable ht);
public Hashtable ExecSql(Hashtable ht);
public Hashtable UpdateDataSet(Hashtable ht);
public Hashtable RemoveDataSet(Hashtable ht);
该方法是执行select语句,从数据库获取数据。获取的数据以DataSet的形式保存在DataSets属性中。
方法参数
参数是一个Hashtable,主要包含以下固定项:
|键|是否必须|说明| |-|-|-| |DataSetName|必须|数据集名称,程序将根据该名称获取要执行的SQL语句| |FacadeAlias|非必须|应用层别名,配置后将会到指定的应用层获取数据| |TableNames|非必须|获取数据集的所有表可以不传;获取一个表的数据传递对应表名即可;获取多个表则传递对应表名的数组|
返回值
返回值是一个Hashtable,主要包含以下项 |键|说明| |-|-| |IsSuccess|数据集执行是否成功,“1”表示成功,“0”表示失败|
该方法通过执行update和delete语句来与数据库进行交互。
方法参数
参数是一个Hashtable,主要包含以下固定项:
|键|是否必须|说明| |-|-|-| |DataSetName|必须|数据集名称,程序将根据该名称获取要执行的SQL语句| |FacadeAlias|非必须|应用层别名,配置后将会到指定的应用层执行SQL语句|
返回值
返回值是一个Hashtable,主要包含以下项 |键|说明| |-|-| |IsSuccess|数据集执行是否成功,“1”表示成功,“0”表示失败|
通过DataSet更新数据库。
方法参数
参数是一个Hashtable,主要包含以下固定项:
|键|是否必须|说明| |-|-|-| |DataSetName|必须|数据集名称,程序将根据该名称获取要保存的DataSet| |FacadeAlias|非必须|应用层别名,配置后将会到指定的应用层保存数据| |TableNames|非必须|保存数据集的所有表可以不传;保存一个表的数据传递对应表名;保存多个表则传递对应表名的数组| |BeforeDataSetName|非必须|用于获取保存DataSet数据前要执行的SQL语句| |AfterDataSetName|非必须|用于获取保存DataSet数据后要执行的SQL语句| |ActionStep|必须|用于指明本次更新方法要执行哪些动作|
ActionStep
ActionStep
是一个List<Act>
的泛型,Act
是我们自己封装的一个枚举类型,包含多个动作。
Act主要包含以下动作:
|动作|说明|
|-|-|
|CommitEdit|提交数据,将调用与DataSet中DataTable通信的WnGrid对象的CommitEdit方法|
|AskIsUpdate|询问是否保存,如果有数据修改则提示询问是否保存,根据选择将对返回结果的IsUpdate
赋值|
|HandleData|排序,给是否顺序列
为1的列赋值|
|CheckData|检查必录项是否为空|
|SaveData|保存数据|
|ShowSuccess|提示成功,现基本上不用|
返回值
返回值是一个Hashtable,主要包含以下项 |键|说明| |-|-| |IsSuccess|数据集执行是否成功,“1”表示成功,“0”表示失败| |IsChanged|数据是否发生修改,“0”表示没修改,“1”表示修改| |IsUpdate|数据是否保存,“-1”表示取消,此时IsSuccess设为“1”,“0”表示不保存,此时IsSuccess设为“1”,“1”表示保存| |IsEmpty|是否有必录项为空,“0”表示没有,“1”表示有| |EmptyDataSetName|必录项为空的数据集的名称| |EmptyTableName|必录项为空的表名| |EmptyColumnName|必录项为空的列名|
该方法是从DataSets对象中把指定的表设为null。如果存在表间关系,则应提前把表间关系给移除掉。
方法参数
参数是一个Hashtable,主要包含以下固定项:
|键|是否必须|说明| |-|-|-| |DataSetName|必须|数据集名称,是DataSets对象的键| |FacadeAlias|非必须|应用层别名,如果配置将与DataSetName拼接作为DataSets对象的键| |TableNames|非必须|要设置为null的表名,不传则整个DataSet所有的表都设置为null|
返回值
返回值是一个Hashtable,主要包含以下项 |键|说明| |-|-| |IsSuccess|执行是否成功,“1”表示成功,“0”表示失败|