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
 
原创粉丝点击