FrameCountry数据访问层架构帮助说明
来源:互联网 发布:j站绝对领域网络异常 编辑:程序博客网 时间:2024/06/03 02:40
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:非外部调用类;
2.1 FrameTown类
架构主执行类,接收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. 返回值
返回Debug记录级别。
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. 其它
必需在启动事务后才能执行结束事务。
2.2 FrameBridge类
处理向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>
2.2.1 FrameBridge构造函数
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 FrameBuild.FrameFile类
操作文件类;
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 FrameBuild.FrameFrame类
架构相关类。
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 FrameBuild.FrameMath类
数学计算相关类;
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 FrameBuild.FrameSystem类
操作系统相关类;
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. 其它
无。
2.7 FrameDataSet类
加载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. 其它
无。
2.8 FrameShip类
表示层向业务层传输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. 其它
无。
2.9 FrameTransValue类
非外部调用类;
2.10 FrameTransWhere类
非外部调用类;
2.11 LibWrap类
非外部调用类;
2.12 OSVersionInfo类
非外部调用类;
2.13 OSVersionInfo2类
非外部调用类;
下载最新版本FrameCountry数据访问层架构:http://blog.csdn.net/lizheng82/archive/2007/06/18/1656140.aspx
- FrameCountry数据访问层架构帮助说明
- FrameCountry数据访问层架构配置文件说明
- FrameCountry数据访问层架构日志信息
- 发布FrameCountry数据访问层架构1.0.0
- 发布FrameCountry数据访问层架构1.0.0
- 数据访问层的帮助类
- 三层架构:表示层-业务逻辑层-数据访问层
- 三层架构:表示层-业务逻辑层-数据访问层
- 三层架构:表示层-业务逻辑层-数据访问层
- 三层架构:表示层-业务逻辑层-数据访问层
- asp.net三层架构,数据访问层。数据访问。构建类大database即可在数据访问层引用。
- 三层架构的困惑:为什么要分出数据访问层
- ERP软件开发架构之二 数据访问层设计
- .Net企业级应用架构设计之数据访问层
- 项目架构开发:数据访问层之UnitOfWork
- 项目架构开发:数据访问层之UnitOfWork
- 三层架构:表示层——业务逻辑层——数据访问层
- 三层架构:表示层——业务逻辑层——数据访问层
- 无情六月+迷途羔羊
- asp.net的页面生存周期
- 窘迫的生活
- webclient上传文件和附加信息
- win2003+iis6+php+gd2+mysql安装配置:图解
- FrameCountry数据访问层架构帮助说明
- FrameCountry数据访问层架构配置文件说明
- 博鸽V1.5发布了~~
- javascript多图片各种渐变循环
- FrameCountry数据访问层架构日志信息
- 路灯&雪
- 反射
- C++学习日志1-基本类型
- VS2005 SP1 for vista 安装小记