FrameCountry数据访问层架构帮助说明(具体操作详见使用手册)
FrameCountry
包含FrameCountry.dll和FrameCountry.xml(注释文件)两个引用文件,具体应用请参照实例“学生管理系统”工程。FrameCountry架构中有10个类和1个命名空间:
1.
FrameTown
类:主执行操作类,完成访问数据库操作;
2.
FrameBridge
类:处理向FrameTown提交处理的请求信息类;
3.
FrameBuild
命名空间:辅助程序类集;
Ø
FrameFile
类:文件操作相关类;
Ø
FrameFrame
类:架构相关类;
Ø
FrameMath
类:数学计算相关类;
Ø
FrameSystem
类:操作系统相关类;
4.
FrameDateSet
类:操作DateSet数据集类,不建议直接调用;
5.
FrameShip
类:处理表示层提交信息类;
6.
FrameTransValue
:非外部调用类;
7.
FrameTransWhere
:非外部调用类;
8.
LibWrap
:非外部调用类;
9.
OSVersionInfo
:非外部调用类;
10.
OSVersionInfo2
:非外部调用类;
架构主执行类,接收FrameBridge对象的处理请求,完成对数据库操作,返回结果信息;
2.1.1 FrameTown构造函数
1.
函数
public
FrameTown();
public
FrameTown(string configInfo);
2.
说明
FrameTown
构造函数。
3.
返回值
无。
4.
参数
configInfo
连接数据库的配置文件名;
5.
示例
//
示例一
FrameTown fTown=new FrameTown();
//
示例二
FrameTown fTown=new FrameTown("NewFrameConnect");
6.
其它
无配置文件名时FrameTown采用默认文件FrameConnect.xml。
2.1.2 ConnTimeout属性
1.
函数
public
int ConnTimeout;
2.
说明
获取和设置连接数据库超时时间,单位秒
。
3.
返回值
数据库超时时间。
4.
参数
ConnTimeout
设置数据库超时时间;
5.
示例
FrameCountry.FrameTown fTown=new FrameCountry.FrameTown();
fTown.ConnTimeout=30;
6.
其它
不设置
ConnTimeout
属性则数据库超时时间为连接配置文件中的超时时间,0表示无超时时间
。
2.1.3 Date成员
1.
函数
public
FrameDataSet Data[int Row,string Column];
2.
说明
执行ExeQuery函数后返回的结果集对象
。
3.
返回值
返回结果集。
4.
参数
Row
行索引。
Column
列名。
5.
示例
string sRecord=fTown.Data[10,"Column1"];
6.
其它
返回该行列的查询结果,结果为String类型。
2.1.4 DebugType属性
1.
函数
public
int DebugType;
2.
说明
获得或设置Debug记录级别
。
3.
返回值
返回D
ebug
记录级别。
4.
参数
DebugType
Debug
记录级别。
5.
示例
FrameCountry.FrameTown fTown=new FrameCountry.FrameTown();
fTown.DebugType =3;
6.
其它
记录级别说明:
级别
|
错误信息
|
回滚信息
|
正确信息
|
正确执行SQL语句
|
0
|
|
|
|
|
1
|
是
|
|
|
|
2
|
是
|
是
|
|
|
3
|
是
|
是
|
是
|
|
4
|
是
|
是
|
是
|
是
|
2.1.5 ExeNonQuery函数
1.
函数
public
bool ExeNonQuery(string TransXML,ref string ErrorInfo);
public
bool ExeNonQuery(FrameBridge frameBridge,ref string ErrorInfo);
2.
说明
执行非查询操作
。
3.
返回值
执行是否成功。
4.
参数
TransXML
包含操作内容的标准XML语句。
ErrorInfo
返回的错误信息。
frameBridge
包含操作内容的FrameBridge对象。
5.
示例
//
示例一
string sTrans="",sError="";
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.TransactionStart(ref sError))
MessageBox.Show(sError);
if(!fTown.ExeNonQuery(sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.TransactionFinish(ref sError))
MessageBox.Show(sError);
//
示例二
string sTrans="",sError="";
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
if(!fTown.TransactionStart(ref sError))
MessageBox.Show(sError);
if(!fTown.ExeNonQuery(fBridge,ref sError))
MessageBox.Show(sError);
if(!fTown.TransactionFinish(ref sError))
MessageBox.Show(sError);
6.
其它
需要与事务函数结合,适合于多步操作同时提交情况。
2.1.6 ExeSingleNonQuery函数
1.
函数
public
bool ExeSingleNonQuery(string TransXML,ref string ErrorInfo);
public
bool ExeSingleNonQuery(FrameBridge frameBridge,ref string ErrorInfo);
2.
说明
执行非查询操作,仅单一语句
。
3.
返回值
执行是否成功。
4.
参数
TransXML
包含操作内容的标准XML语句。
ErrorInfo
返回的错误信息。
frameBridge
包含操作内容的FrameBridge对象。
5.
示例
//
示例一
string sTrans="",sError="";
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.ExeSingleNonQuery(sTrans,ref sError))
MessageBox.Show(sError);
//
示例二
string sTrans="",sError="";
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
if(!fTown.ExeNonQuery(fBridge,ref sError))
MessageBox.Show(sError);
6.
其它
内部已处理事务,适合于单步操作执行情况。
2.1.7 ExeQuery函数
1.
函数
public
bool ExeQuery(string TransXML,ref DataSet returnDS,ref string ErrorInfo);
public
bool ExeQuery(FrameBridge frameBridge,ref DataSet returnDS,ref string ErrorInfo);
2.
说明
执行查询操作,仅返回具有唯一Table的DataSet
。
3.
返回值
执行是否成功。
4.
参数
TransXML
包含操作内容的标准XML语句。
returnDS
包含处理结果的DataSet。
ErrorInfo
返回的错误信息。
frameBridge
包含操作内容的FrameBridge对象。
5.
示例
//
示例一
string sTrans="",sError="";
DataSet dsData=new DataSet();
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="SelectTable";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.ExeQuery(sTrans,ref dsData,ref sError))
MessageBox.Show(sError);
string sRecord=fTown.Data[10,"column1"];
//
示例二
string sTrans="",sError="";
DataSet dsData=new DataSet();
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="SelectTable";
if(!fTown.ExeQuery(fBridge,ref dsData,ref sError))
MessageBox.Show(sError);
string sRecord=fTown.Data[10,"column1"];
6.
其它
无。
2.1.8 ExeQueryExtend函数
1.
函数
public
bool ExeQueryExtend(string TransXML,ref DataSet returnDS,string TableName,ref string ErrorInfo);
public
bool ExeQueryExtend(FrameBridge frameBridge,ref DataSet returnDS,string TableName,ref string ErrorInfo);
2.
说明
执行扩展查询操作,可填充DataSet指定Table
。
3.
返回值
执行是否成功。
4.
参数
TransXML
包含操作内容的标准XML语句。
returnDS
包含处理结果的DataSet。
ErrorInfo
返回的错误信息。
frameBridge
包含操作内容的FrameBridge对象。
5.
示例
//
示例一
string sTrans="",sError="";
DataSet dsData=new DataSet();
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="SelectTable";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.ExeQueryExtend(sTrans,ref dsData,"tablename",ref sError))
MessageBox.Show(sError);
//
示例二
string sTrans="", sError="";
DataSet dsData =new DataSet();
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="SelectTable";
if(!fTown.ExeQueryExtend(fBridge,ref dsData,"tablename",ref sError))
MessageBox.Show(sError);
6.
其它
无。
2.1.9 TransactionStart函数
1.
函数
public
bool TransactionStart(ref string ErrorInfo);
2.
说明
启动事务,在执行非查询操作时必须启动
。
3.
返回值
执行是否成功。
4.
参数
ErrorInfo
返回的错误信息。
5.
示例
string sTrans="",sError="";
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.TransactionStart(ref sError))
MessageBox.Show(sError);
if(!fTown.ExeNonQuery(sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.TransactionFinish(ref sError))
MessageBox.Show(sError);
6.
其它
无。
2.1.10 TransactionFinish函数
1.
函数
public
bool TransactionFinish(ref string ErrorInfo);
2.
说明
结束事务,在执行非查询操作完成后调用可向数据库提交事务
。
3.
返回值
执行是否成功。
4.
参数
ErrorInfo
返回的错误信息。
5.
示例
string sTrans="", sError="";
FrameTown fTown=new FrameTown();
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.TransactionStart(ref sError))
MessageBox.Show(sError);
if(!fTown.ExeNonQuery(sTrans,ref sError))
MessageBox.Show(sError);
if(!fTown.TransactionFinish(ref sError))
MessageBox.Show(sError);
6.
其它
必需在启动事务后才能执行结束事务。
处理向FrameTown提交请求信息的类,信息内容采用XML方式,格式如下:
<ParamList ServiceName="FrameConfig" ChapterName="Student" CommandName="Select">
<MainSQL></MainSQL>
<ValueList>
<name>
张伞</name>
<birthday>1982-1-1</birthday>
</ValueList>
<WhereList>
<code Operator="=">1104101</code>
</WhereList>
</ParamList>
1.
函数
public
FrameBridge();
public
FrameBridge(string strTransXML);
2.
说明
FrameBridge
构造函数
。
3.
返回值
无。
4.
参数
strTransXML
提交的XML字符串。
5.
示例
//
示例一
FrameBridge fBridge=new FrameBridge();
//
示例二
//sOldTranXml
为存在的FrameBridge对象XML串
FrameBridge fBridge=new FrameBridge(sOldTranXml);
6.
其它
无。
2.2.2ServiceName属性
1.
函数
public
string ServiceName;
2.
说明
获取和设置服务名称
。
3.
返回值
服务名称。
4.
参数
ServiceName
设置服务名称。
5.
示例
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="newFrameConfig";
6.
其它
服务名称为SQL语句配置文件名,如果不设定则默认为
FrameConfig.xml
。
2.2.3ChapterName属性
1.
函数
public
string ChapterName;
2.
说明
获取和设置操作节点
。
3.
返回值
操作节点。
4.
参数
ChapterName
设置操作节点。
5.
示例
FrameBridge fBridge=new FrameBridge();
fBridge.ChapterName="InsertTable";
6.
其它
该属性表示在配置文件中具体执行的SQL语句节点,当在配置文件中该节点的
CommandName
属性
为“Table”时,需要在程序中对FrameBridge的
CommandName
进行赋值,具体参照CommandName属性说明
。
2.2.4CommandName属性
1.
函数
public
string CommandName;
2.
说明
获取和设置命令类型
。
3.
返回值
命令类型。
4.
参数
CommandName
设置命令类型。
5.
示例
FrameBridge fBridge=new FrameBridge();
fBridge.CommandName="select";
6.
其它
只有在
ChapterName
属性设定的节点在配置文件中相应的CommandName属性为“Table”情况时,命令类型才具有意义,并只可设置为“select”、“insert”、“update”、“delete”之一,其它情况下设置CommandName无效
。
2.2.5GetTransXML函数
1.
函数
public
bool GetTransXML(ref string strTransXML,ref string ErrorInfo);
2.
说明
获取提交的XML字符串
。
3.
返回值
执行是否成功。
4.
参数
strTransXML
提交的XML字符串。
ErrorInfo
返回的错误信息。
5.
示例
string sTrans="",sError="";
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="Table";
fBridge.CommandName="select";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
6.
其它
无。
2.2.6MainSQL属性
1.
函数
public
string MainSQL;
2.
说明
获取和设置单一执行语句
。
3.
返回值
单一执行语句。
4.
参数
MainSQL
设置单一执行语句。
5.
示例
string sTrans="",sError="";
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
//ChapterName
必须为“Single”
fBridge.ChapterName="Single";
fBridge.MainSQL="select * from table";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
6.
其它
只有
ChapterName
的数值为“Single”时才可以设置MainSQL属性,并且在配置文件中存在“Single”节点
。
2.2.7SetTransXML函数
1.
函数
public
bool SetTransXML(string strTransXML,ref string ErrorInfo);
2.
说明
设置提交的XML字符串
。
3.
返回值
执行是否成功。
4.
参数
strTransXML
提交的XML字符串。
ErrorInfo
返回的错误信息。
5.
示例
string sTrans="",sError="";
FrameBridge fBridge=new FrameBridge();
if(!fBridge.SetTransXML(sTrans,ref sError))
MessageBox.Show(sError);
6.
其它
无。
2.2.8TransValue对象
1.
函数
public
string TransValue[string index];
2.
说明
设置或获取Value值
。
3.
返回值
获得
Value
在index项的数值,当index项不存在时返回null。
4.
参数
index
Value
项;
TransValue
设置该Value项的数值;
5.
示例(参照如下xml配置信息)
/*
<InsertTable CommandName="Insert" Depiction="
插入表">
<MainInfo>
table
</MainInfo>
<ValueList>
<column1 Depiction="column1"
DataType="Number" >column1</column1>
<column2 Depiction="column2"
DataType="String">column2</column2>
</ValueList>
</InsertTable>
*/
//
示例一
string sTrans="",sError="";
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
fBridge.TransValue["column1"]="10";
fBridge.TransValue["column2"]="abc";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
//
示例二
string sTrans="",sError="";
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="InsertTable";
fBridge.TransValue["column1"]="10";
int iNum=int.Parse(fBridge.TransValue["column1"]);
6.
其它
为
TransValue
赋值需要在选择的配置文件节点下存在ValueList子项,或者配置文件节点的CommandName属性为“Table”
。
2.2.9TransWhere对象
1.
函数
public
string TransWhere[string index];
public
string TransWhere [string index,string Operator];
2.
说明
设置或获取Where值
。
3.
返回值
该
Where
项在index 项和Operator操作符下的数值,当不存在时返回null。
4.
参数
Index
设置的Where项;
Operator
操作符号;
TransWhere
设置该Where项的数值;
5.
示例(参照如下xml配置信息)
/*
<DeleteStudent CommandName="Delete" Depiction="
删除表">
<MainInfo>
table
</MainInfo>
<WhereList>
<column1 Depiction="column1" DataType="Number"
Operator="<=">realcol</column1>
<column2 Depiction="column2" DataType="String"
Operator="=">column2</column2>
<column3 Depiction="column3" DataType="String"
Operator="=">column3</column3>
<column4 Depiction="column4" DataType="String"
Operator="=">column4</column4>
</WhereList>
</DeleteStudent>
*/
//
示例一
string sTrans="",sError="";
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="DeleteTable";
/*
Ø
column1
为DeleteTable节点下WhereList节点的子项名;
Ø
在实际情况中节点名为column1,但是数据库表列名为realcol;
Ø
当不设定column1项的操作符号,在执行时会采用默认操作符号“<=”;
*/
fBridge.TransWhere["column1"]="10";
//
当设定符号,该符号会替换默认符号
fBridge.TransWhere["column2","!="]="10";
//
如下为like操作符号的使用方式
fBridge.TransWhere["column3","like"]="%abc%";
//
如下为in操作符号使用方法
fBridge.TransWhere["column4","in"]="'a','b','c'";
if(!fBridge.GetTransXML(ref sTrans,ref sError))
MessageBox.Show(sError);
//
示例二
string sTrans="",sError="";
FrameBridge fBridge=new FrameBridge();
fBridge.ServiceName="FrameConfig";
fBridge.ChapterName="DeleteTable";
fBridge.TransWhere["column1"]="10";
fBridge.TransWhere["column2",">="]="50";
//
如下iNum1=10;
int iNum1=int.Parse(fBridge.TransWhere["column1"]);
//
如下iNum2为null,因为在column1项的"<="符号下没有数值
int iNum2=int.Parse(fBridge.TransWhere["column1","<="]);
//
如下iNum3=50
int iNum3=int.Parse(fBridge.TransWhere["column2"]);
//
如下iNum4=50
int iNum4=int.Parse(fBridge.TransWhere["column2",">="]);
//
如下iNum5为null
int iNum5=int.Parse(fBridge.TransWhere["column2",">"]);
6.
其它
具体操作请详见实例程序。
操作文件类;
2.3.1 FrameFile构造函数
1.
函数
public
FrameFile();
2.
说明
FrameFile
构造函数
。
3.
返回值
无。
4.
参数
无。
5.
示例
FrameBuild.FrameFile fFile=new FrameBuild.FrameFile();
6.
其它
无。
2.3.2TxtRead函数
1.
函数
public
bool TxtRead(string FilePath,ref string ReadStr,ref string ErrorInfo);
2.
说明
将文本读入字符串
。
3.
返回值
执行是否成功。
4.
参数
FilePath
文件路径。
ReadStr
读入的字符串。
ErrorInfo
错误信息。
5.
示例
FrameBuild.FrameFile fFile=new FrameBuild.FrameFile();
string sRead="",sError="";
fFile.TxtRead(@"c:/1.txt",ref sRead,ref sError);
6.
其它
无。
2.3.3TxtWrite函数
1.
函数
public
bool TxtWrite(string FilePath,string WriteStr,ref string ErrorInfo);
2.
说明
将字符串写入文本
。
3.
返回值
执行是否成功。
4.
参数
FilePath
文件路径。
WriteStr
写入的字符串。
ErrorInfo
错误信息。
5.
示例
FrameBuild.FrameFile fFile=
new FrameBuild.FrameFile();
string sWrite="write info",sError="";
fFile.TxtWrite(@"c:/1.txt", sWrite,ref sError);
6.
其它
无。
架构相关类。
2.4.1 FrameFrame构造函数
1.
函数
public
FrameFrame();
2.
说明
FrameFrame
构造函数
。
3.
返回值
无。
4.
参数
无。
5.
示例
FrameBuild.FrameFrame fFrame=new FrameBuild.FrameFrame();
6.
其它
无。
2.4.2ConnectDBString属性
1.
函数
public
string ConnectDBString;
2.
说明
获取和设置数据库连接字符串配置信息
。
3.
返回值
数据库连接字符串配置信息。
4.
参数
ConnectDBString
设置数据库连接字符串配置信息。
5.
示例
FrameBuild.FrameFrame fFrame=new FrameBuild.FrameFrame();
fFrame.ConnectDBString="User ID=sa;Data Source
=/"127.0.0.1/";Password=;Initial Catalog
=DateBaseName;Provider=/"SQLOLEDB.1/"";
6.
其它
无。
2.4.3Version属性
1.
函数
public
string Version;
2.
说明
获取版本信息
。
3.
返回值
版本信息。
4.
参数
无。
5.
示例
FrameBuild.FrameFrame fFrame=new FrameBuild.FrameFrame();
string version=fFrame.Version;
6.
其它
无。
数学计算相关类;
2.5.1FrameMath构造函数
1.
函数
public
FrameMath();
2.
说明
FrameMath
构造函数
。
3.
返回值
无。
4.
参数
无。
5.
示例
FrameBuild.FrameMath fMath=new FrameBuild.FrameMath();
6.
其它
无。
2.5.2Calculate函数
1.
函数
public
bool Calculate(string calcString,ref string calcResult,
ref
string ErrorInfo);
2.
说明
计算运算公式(+-*/%)
。
3.
返回值
返回是否为正确公式,计算结果放置于calcResult变量。
4.
参数
calcString
运算公式。
calcResult
运算公式结果。
ErrorInfo
错误信息。
5.
示例
FrameBuild.FrameMath fMath=new FrameBuild.FrameMath();
string sCalc="1+2*(3-4)",sResult="",sError="";
if(!fMath.Calculate(sCalc,ref sResult,ref sError))
MessageBox.Show(sError);
6.
其它
公式包括如下符号:+、-、*、/、(、)、%。
2.5.3ChangeDateTimeToFillStyle函数
1.
函数
public
string ChangeDateTimeToFillStyle(DateTime dealDateTime);
2.
说明
转换时间为"20080808235959"形式
。
3.
返回值
转换结果。
4.
参数
dealDateTime
需要处理的时间。
5.
示例
FrameBuild.FrameMath fMath=new FrameBuild.FrameMath();
string sNow=fMath.ChangeDateTimeToFillStyle(DateTime.Now);
6.
其它
无。
2.5.4ChangeFillStyleToDateTime函数
1.
函数
public
DateTime ChangeFillStyleToDateTime(string strFileStyle);
2.
说明
转换"20080808235959"形式为时间
。
3.
返回值
转换结果。
4.
参数
strFileStyle
需要处理的字符串。
5.
示例
FrameBuild.FrameMath fMath=new FrameBuild.FrameMath();
string sDate="20080808235959";
DateTime dtRecord=fMath.ChangeFillStyleToDateTime(sDate);
6.
其它
无。
操作系统相关类;
2.6.1FrameMath构造函数
1.
函数
public
FrameSystem();
2.
说明
FrameSystem
构造函数
。
3.
返回值
无。
4.
参数
无。
5.
示例
FrameBuild.FrameSystem fSystem=new FrameBuild.FrameSystem();
6.
其它
无。
2.6.2SetRegeditInfo函数
1.
函数
public
bool SetRegeditInfo(string regeditKey,string regeditPath,
string
regeditParam,string regeditValue,ref string ErrorInfo);
2.
说明
设置注册表信息
。
3.
返回值
返回执行状态。
4.
参数
regeditKey
注册表根目录(包括Root/User/Machine/Users/Config)。
regeditPath
注册表信息路径。
regeditParam
注册表信息项。
regeditValue
设置注册表信息数值。
ErrorInfo
错误信息。
5.
示例
string sError="";
FrameBuild.FrameSystem fSystem=
new FrameBuild.FrameSystem();
fSystem.SetRegeditInfo("Machine",@"SYSTEM/CurrentControlSet
/Control/Biosinfo","info","biosinfo.inf",ref sError);
6.
其它
无。
2.6.3GetRegeditInfo函数
1.
函数
public
bool GetRegeditInfo(string regeditKey,string regeditPath,
string
regeditParam,ref string regeditValue,ref string ErrorInfo);
2.
说明
获得注册表信息
。
3.
返回值
返回执行状态。
4.
参数
regeditKey
注册表根目录(包括Root/User/Machine/Users/Config)。
regeditPath
注册表信息路径。
regeditParam
注册表信息项。
regeditValue
返回注册表信息数值。
ErrorInfo
错误信息。
5.
示例
string sError="",sValue="";
FrameBuild.FrameSystem fSystem=new FrameBuild.FrameSystem();
fSystem.GetRegeditInfo("Machine",@"SYSTEM/CurrentControlSet
/Control/Biosinfo","info",ref sValue,ref sError);
6.
其它
无。
2.6.4DeleteRegeditInfo函数
1.
函数
public
bool DeleteRegeditInfo(string regeditKey,string regeditPath,
string
regeditParam,ref string ErrorInfo);
2.
说明
删除注册表信息
。
3.
返回值
返回执行状态。
4.
参数
regeditKey
注册表根目录(包括Root/User/Machine/Users/Config)。
regeditPath
注册表信息路径。
regeditParam
注册表信息项,当为""(空)时删除路径。
ErrorInfo
错误信息。
5.
示例
string sError="";
FrameBuild.FrameSystem fSystem=new FrameBuild.FrameSystem();
fSystem.DeleteRegeditInfo("Machine",@"SYSTEM/CurrentControlSet
/Control/Biosinfo","info",ref sError);
6.
其它
无。
加载DataSet对象后提供简便查询操作。
2.7.1FrameDataSet构造函数
1.
函数
public
FrameDataSet();
public
FrameDataSet(DataSet theDataSet);
public
string this[int Row,string Column];
2.
说明
FrameDataSet
构造函数
。
3.
返回值
该
行列下的数值,String类型。
4.
参数
theDataSet
待操作的DataSet。
Row
行索引。
Column
列名。
5.
示例
//
示例一
DataSet dsData=new DataSet();
FrameDataSet fDateSet=new FrameDataSet(dsData);
//
示例二
FrameDataSet fDateSet=new FrameDataSet();
string sRecord=fDateSet[8,"column1"];
6.
其它
无。
2.7.2Clear函数
1.
函数
public
bool Clear(ref string ErrorInfo);
2.
说明
清除DataSet
。
3.
返回值
执行是否成功。
4.
参数
ErrorInfo
返回的错误信息。
5.
示例
string sError="";
FrameDataSet fDateSet=new FrameDataSet();
if(!fDateSet.Clear(ref sError))
MessageBox.Show(sError);
6.
其它
无。
2.7.3ColumnCount属性
1.
函数
public
int ColumnCount;
2.
说明
返回DataSet列数
。
3.
返回值
DataSet
列数。
4.
参数
无。
5.
示例
FrameDataSet fDateSet=new FrameDataSet();
int iColumnnum=fDateSet.ColumnCount;
6.
其它
无。
2.7.4Count属性
1.
函数
public
int Count;
2.
说明
返回DataSet行数
。
3.
返回值
DataSet
行数。
4.
参数
无。
5.
示例
FrameDataSet fDateSet=new FrameDataSet();
int iRecordnum=fDateSet.Count;
6.
其它
无。
2.7.5SetDataSet函数
1.
函数
public
bool SetDataSet(DataSet theDataSet,ref string ErrorInfo);
2.
说明
设置操作的DataSet
。
3.
返回值
执行是否成功。
4.
参数
theDataSet
待操作的DataSet。
ErrorInfo
返回的错误信息。
5.
示例
string sError="";
DataSet dsData=new DataSet();
FrameDataSet fDateSet=new FrameDataSet();
if(!fDateSet.SetDataSet(dsData,ref sError))
MessageBox.Show(sError);
6.
其它
无。
表示层向业务层传输XML字符串操作类,只可以加载无法对项数值进行变更,以下实例均采用如下表示层XML格式:
/*
<Request>
<OperateUser></OperateUser>
<OperatePassword></OperatePassword>
<User>0055122</User>
<Password>123456</Password>
<Service>InsertTable</Service>
<Info>
<ParamInfo>
<ValueList>
<name>
张伞</name>
<birthday>1982-1-1</birthday>
</ValueList>
<WhereList>
<code>1104101</code>
</WhereList>
<Items>
<ValueList>
<name>
张伞</name>
<birthday>1981-1-1</birthday>
</ValueList>
<ValueList>
<name>
李斯</name>
<birthday>1982-1-1</birthday>
</ValueList>
<ValueList>
<name>
王武</name>
<birthday>1983-1-1</birthday>
</ValueList>
</Items>
</ParamInfo>
</Info>
</Request>
*/
2.8.1FrameShip构造函数
1.
函数
public
FrameShip();
public
FrameShip(string ShipXML);
2.
说明
构造函数,加载表示层字符串
。
3.
返回值
无。
4.
参数
ShipXML
加载的字符串。
5.
示例
//
示例一
FrameShip fShip=new FrameShip();
//
示例二
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
6.
其它
无。
2.8.2SetShip函数
1.
函数
public
bool SetShip(string ShipXML,ref string ErrorInfo);
2.
说明
加载表示层字符串
。
3.
返回值
执行是否成功。
4.
参数
ShipXML
加载的字符串。
ErrorInfo
错误信息。
5.
示例
string sError="";
FrameShip fShip=new FrameShip();
//sShipXML
为存在的表示层字符E串
if(!fShip.GetShip(sShipXML,ref sError))
MessageBox.Show(sError);
6.
其它
无。
2.8.3RecordType属性
1.
函数
public
int RecordType;
2.
说明
获得或设置记录级别,1为记录0为不记录
。
3.
返回值
记录级别。
4.
参数
RecordType
设置记录级别。
5.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
fShip.RecordType=1;
6.
其它
在加载表示层字符串时会记录字符串信息。
2.8.4GetParamCount函数
1.
函数
public
int GetParamCount(string ListName);
2.
说明
获得分类内容数量
。
3.
返回值
分类内容数量。
4.
参数
ListName
分类名称,只有”
Request”
、”ValueList”、”WhereList”三项。
5.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
//iCount1=5
int iCount1=fShip.GetParamCount("Request");
//iCount2=2
int iCount2=fShip.GetParamCount("ValueList");
//iCount3=1
int iCount3=fShip.GetParamCount("WhereList");
6.
其它
在生成XML文件时,
Request
、ValueList、WhereList三项下的节点数量无限制,依据需求灵活定义,Items节点另作处理
。
2.8.5GetParamName函数
1.
函数
public
string GetParamName(string ListName,int ParamIndex);
2.
说明
获得分类内容名称
。
3.
返回值
分类内容名称。
4.
参数
ListName
分类名称,只有”
Request”
、”ValueList”、”WhereList”三项。
ParamIndex
分类索引。
5.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
//sParam1="Service"
string sParam1=fShip.GetParamName("Request",4);
//sParam2="birthday"
string sParam2=fShip.GetParamName("ValueList",1);
6.
其它
无。
2.8.6GetParam函数
1.
函数
public
string GetParam(string ListName,string ParamName);
2.
说明
获得分类内容
。
3.
返回值
返回分类内容数值,
当值不存在返回null
。
4.
参数
ListName
分类名称,只有”
Request”
、”ValueList”、”WhereList”三项。
ParamName
内容名称。
5.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
//sParam1="InsertTable"
string sParam1=fShip.GetParam("Request","service");
//sParam2="1982-1-1"
string sParam2=fShip.GetParam("ValueList","birthday");
6.
其它
无。
2.8.7GetItemColumnCount函数
1.
函数
public
int GetItemColumnCount();
2.
说明
获得子项列数量,
为每项ValueList下的记录数。
3.
返回值
返回子项列数量。
4.
参数
无。
5.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
//iCount=2
int iCount=fShip.GetItemColumnCount();
6.
其它
无。
2.8.8GetItemColumnName函数
1.
函数
public
string GetItemColumnName(int ItemIndex);
2.
说明
获得分类子项名称,
为每项ValueList下的记录名称。
3.
返回值
返回分类子项列名称。
4.
参数
ItemIndex
子项索引。
5.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
//sItem="birthday"
string sItem=fShip.GetItemColumnName(1);
6.
其它
无。
2.8.9GetItemCount函数
1.
函数
public
int GetItemCount();
2.
说明
获得子项数量
。
3.
返回值
返回子项数量。
4.
参数
无。
5.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
//iCount=3
int iCount=fShip.GetItemCount();
6.
其它
无。
2.8.10GetItem函数
7.
函数
public
string GetItem(int ItemIndex,string ParamName);
8.
说明
获得子项内容
。
9.
返回值
返回分类子项内容。
10.
参数
ItemIndex
子项索引。
ParamName
子项名称。
11.
示例
//sShipXML
为存在的表示层字符串
FrameShip fShip=new FrameShip(sShipXML);
//sItem="
李斯"
string sItem=fShip.GetItem(1,"name");
12.
其它
无。
非外部调用类;
非外部调用类;
非外部调用类;
非外部调用类;
非外部调用类;
下载最新版本FrameCountry数据访问层架构:
http://blog.csdn.net/lizheng82/archive/2007/06/18/1656140.aspx