FrameCountry数据访问层架构配置文件说明(具体详见使用手册)
应用FrameCountry架构系统需要使用两种配置文件,即连接数据库配置文件和SQL语句配置文件,两种文件要求放置在FrameCountry.dll文件相同目录下,每种文件依据需求可创建多个文件,在程序中设定调用的文件名。
3.1数据库连接文件
数据库连接文件主要设置连接数据库的信息以及其他相关信息:
3.1.1文件示例
在程序中设定连接数据库请参照FrameTown类说明,当不设定连接文件时,程序会连接默认文件FrameConnect.xml,下面列出示例中FrameConnect.xml的格式(数值部分由于页面原因采用换行,具体格式情参照示例):
<?xmlversion="1.0"encoding="GB2312"?>
<ConfigList>
<!--Datebase
:数据库连接设置信息;><!--
>
<Datebase>
<!--DBString
:数据库连接字符串,信息如下;>
1.SQLServer2000
:
<DBString>User ID=sa;Data Source="127.0.0.1";Password=;
Initial Catalog=DateBaseName;Provider="SQLOLEDB.1"
</DBString>
2.Access
:
带密码驱动:
<DBString>PROVIDER=MSDataShape;Data Provider =Microsoft.Jet.OLEDB.4.0;Data Source=D:/db1.mdb;Persist Security Info=False;
Jet OLEDB:Database Password=PSW
</DBString>
不带密码驱动:
<DBString>Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=D:/db1.mdb;
</DBString>
<!--
>
<DBString>User ID=sa;Data Source="127.0.0.1";Password=;
Initial Catalog=Northwind;Provider="SQLOLEDB.1"
</DBString>
<!--DBTimeout
:为连接超时时间(秒),0 表示无连接超时限制;><!--
>
<DBTimeout>30</DBTimeout>
</Datebase>
<!--Debug
:设置调试信息;><!--
>
<Debug>
<!--DebugType
:运行记录记录等级;>
0
:无记录;
1
:错误信息;
2
:错误信息+回滚信息;
3
:错误信息+回滚信息+正确信息;
4
:错误信息+回滚信息+正确信息+正确执行SQL语句;
<!--
>
<DebugType>1</DebugType>
</Debug>
<!--Register
:设置注册信息;><!--
>
<Register>
<!--RegisterString
:注册码;><!--
>
<RegisterString>[2999-12-31]W5dBN6YXQ8ks6xXCwPZKloxtB11Y9ExGn
G3WaSNCkWKZ6HP52XU47l2dT4GXrxdS4/v9LT7rTasYGoyDs4BwEPLbfM
SbCFGITZqLuJKbArLkLTnpmA5IPd27qfOiBhMnemzhMpYGk7+7dU4wbCc
rn0rssJf7kRd7HTaNJGHKNE5cHDtW3wUraC4bkyWhnNXcluyImPy555w=
</
RegisterString
>
<!--RegisterExplain
:注册信息描述;><!--
>
<RegisterExplain>限时到
2999年12月31日</RegisterExplain>
</Register>
</ConfigList>
3.1.2设定信息
3.1.2.1 Datebase节点
3.1.2.1.1 DBString节点
设置连接数据库字符串信息:
1.
连接SQLServer2000数据库
User ID=sa;Data Source="127.0.0.1";Password=;
Initial Catalog=DateBaseName;Provider="SQLOLEDB.1"
Ø
用户名:User ID;
Ø
服务器IP地址:Data Source;
Ø
密码:Password;
Ø
数据库名称:Initial Catalog;
(注:其它为默认信息)
2.
连接Access2000带密码驱动
PROVIDER=MSDataShape;Data Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=D:/db1.mdb;Persist Security Info=False;
Jet OLEDB:Database Password=PSW
Ø
文件路径:Data Source;
Ø
密码:Database Password;
(注:其它为默认信息)
3.
连接Access2000不带密码驱动
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/db1.mdb;
Ø
文件路径:Data Source;
(注:其它为默认信息)
3.1.2.1.2 DBTimeout节点
连接超时时间(秒),0 表示无连接超时限制;
3.1.2.2 Debug节点
设置调试信息。
3.1.2.2.1 DebugType节点
运行记录记录等级。
级别
|
错误信息
|
回滚信息
|
正确信息
|
正确执行SQL语句
|
0
|
|
|
|
|
1
|
是
|
|
|
|
2
|
是
|
是
|
|
|
3
|
是
|
是
|
是
|
|
4
|
是
|
是
|
是
|
是
|
3.1.2.3 Register节点
记录注册信息。
3.1.2.3.1 RegisterString节点
记录注册号;
3.1.2.3.2 RegisterExplain节点
记录注册信息描述,无处理。
3.2 SQL语句配置文件
配置连接数据库SQL语句内容,在文件中ConfigList节点下的每个节点均代表一句SQL语句配置信息,CommandName属性为该节点分类类型,Depiction为该节点描述;
3.2.1 Table类型
1.
示例
<StudentCommandName="Table"Depiction="
学生表">
<MainInfo>
student
</MainInfo>
<WhereList>
<stu_idDepiction="
学生ID号"
DataType
="Number"
Operator
="=">
student_id</stu_id>
<nameDepiction="
学生姓名"
DataType
="String"
Operator
="=">
student_name</name>
<birthdayDepiction="
学生生日"
DataType
="DateTime"
Operator
="=">
student_birthday</birthday>
</WhereList>
</Student>
2.
说明
该类型为单表操作配置方式,按照数据库表实际结构进行设计,在程序调用时再依 据需求设定CommandName值,程序中CommandName只可以为“select”、“Insert”、“Update”、“Delete”四种方式之一。
3.
子项说明
Ø
MainInfo
:表名;
Ø
WhereList
:表的列子项(以下WhereList应用方式相同):
²
节点名(
stu_id
):程序FrameBridge的
TransWhere
调用的名称,如:
FrameCountry.FrameBridge fBridge=new FrameBridge();
fBridge.TransWhere["stu_id",">"]="123";
fBridge.TransWhere["name"]="
张三";
²
Depiction
:该项描述;
²
DateType
:数据类型,目前支持Number、String、DateTime三种;
²
Operator
:默认操作符号,在程序中不进行设置符号时采用该默认符号,符 号包含“=、>、<、>=、<=、<>、!=、in、like”:
²
数据(student_id):对应的数据库列名;
4.
执行函数:
ExeQuery
、ExeQueryExtend、ExeSingleNonQuery、ExeNonQuery;
3.2.2 Select类型
1.
示例
<SelectStudentCommandName="Select"Depiction="
查询学生表,
必须包含where项并且where后至少包含一个条件项">
<MainInfo>
select student_id,student_name,student_birthday from student where 1=1
</MainInfo>
<WhereList>
<student_idDepiction="
学生ID号"
DataType
="Number"
Operator
="=">
student_id
</student_id>
<nameDepiction="
学生姓名"
DataType
="String"
Operator
="=">
student_name
</name>
<birthdayDepiction="
学生生日"
DataType
="DateTime"
Operator
=">=">
student_birthday
</birthday>
</WhereList>
<TailInfo> order by student_id</TailInfo>
</SelectStudent>
2.
说明
查询操作,包括多表联查操作;
3.
子项说明
Ø
MainInfo
节点:查询语句前缀信息;
(注:必须有where项,并且where项后有条件项,如果没有则补充 1=1)
Ø
WhereList
节点:条件子项;
Ø
TailInfo
节点:尾信息,如order by、group by;
4.
执行函数:
ExeQuery
、ExeQueryExtend;
3.2.3 Insert类型
1.
示例
<InsertStudentCommandName="Insert"Depiction="
插入学生表">
<MainInfo>
student
</MainInfo>
<ValueList>
<student_idDepiction="
学生ID号"
DataType
="Number"
>
student_id</student_id>
<nameDepiction="
学生姓名"
DataType
="String">
student_name</name>
<birthdayDepiction="
学生生日"
DataType
="DateTime">
student_birthday</birthday>
</ValueList>
</InsertStudent>
2.
说明
插入操作,建议采用Table方式;
3.
子项说明
Ø
MainInfo
节点:表名;
Ø
ValueList
节点:赋值子项;
4.
执行函数:
ExeSingleNonQuery
、ExeNonQuery;
3.2.4 Update类型
1.
示例
<UpdateStudentCommandName="Update"Depiction="
修改学生表">
<MainInfo>
student
</MainInfo>
<ValueList>
<nameDepiction="
学生姓名"
DataType
="String">
student_name</name>
<birthdayDepiction="
学生生日"
DataType
="DateTime">
student_birthday</birthday>
</ValueList>
<WhereList>
<student_idDepiction="
学生ID号"
DataType
="Number"
Operator
="=">
student_id</student_id>
</WhereList>
</UpdateStudent>
2.
说明
更新操作,建议采用Table方式;
3.
子项说明
Ø
MainInfo
节点:表名;
Ø
ValueList
节点:赋值子项;
Ø
WhereList
节点:条件子项;
4.
执行函数:
ExeSingleNonQuery
、ExeNonQuery;
3.2.5 Delete类型
1.
示例
<DeleteStudentCommandName="Delete"Depiction="
删除学生表">
<MainInfo>
student
</MainInfo>
<WhereList>
<student_idDepiction="
学生ID号"
DataType
="Number"
Operator
="=">
student_id</student_id>
<nameDepiction="
学生姓名"
DataType
="String"
Operator
="=">
student_name</name>
</WhereList>
</DeleteStudent>
2.
说明
删除操作,建议采用Table方式;
3.
子项说明
Ø
MainInfo
节点:表名;
Ø
WhereList
节点:条件子项;
4.
执行函数:
ExeSingleNonQuery
、ExeNonQuery;
3.2.6 Procedure类型
1.
示例
<ExeProcedureCommandName="Procedure"Depiction="
执行非查询存储过程">
<MainInfo>
procedurename
</MainInfo>
<WhereList>
<student_idDepiction="
学生ID号"
DataType
="Number"
Operator
="=">
student_id</student_id>
<nameDepiction="
学生姓名"
DataType
="String"
Operator
="=">
student_name</name>
<birthdayDepiction="
学生生日"
DataType
="DateTime"
Operator
="=">
student_birthday</birthday>
</WhereList>
</ExeProcedure>
2.
说明
非查询存储过程;
3.
子项说明
Ø
MainInfo
节点:存储名;
Ø
WhereList
节点:条件子项;
4.
执行函数:
ExeSingleNonQuery
、ExeNonQuery;
3.2.7 ProcedureQuery类型
示例
<QueryProcedureCommandName="ProcedureQuery"Depiction="
执行查询存储过程">
<MainInfo>
procedurename
</MainInfo>
<WhereList>
<student_idDepiction="
学生ID号"
DataType
="Number"
Operator
="=">
student_id</student_id>
<nameDepiction="
学生姓名"
DataType
="String"
Operator
="=">
student_name</name>
<birthdayDepiction="
学生生日"
DataType
="DateTime"
Operator
="=">
student_birthday</birthday>
</WhereList>
</QueryProcedure>
说明
非查询存储过程;
子项说明
Ø
MainInfo
节点:存储名;
Ø
WhereList
节点:条件子项;
执行函数:
ExeQuery
、ExeQueryExtend;
3.2.8 ExtentSelect类型
示例
<ExtendSelectStudentCommandName="ExtendSelect"
Depiction
="
扩展查询表(假设有科目安排表,subjectplan)">
<MainInfo>
insert subjectplan(student_id,subject_name,isplan)
select student_id,'数学
',0 from student where 1=1
</MainInfo>
<WhereList>
<student_idDepiction="
学生ID号"
DataType
="Number"
Operator
="=">
student_id
</student_id>
<nameDepiction="
学生姓名"
DataType
="String"
Operator
="=">
student_name
</name>
<birthdayDepiction="
学生生日"
DataType
="DateTime"
Operator
="=">
student_birthday
</birthday>
</WhereList>
<TailInfo> order by student_id</TailInfo>
</ExtendSelectStudent>
说明
扩展查询;
子项说明
Ø
MainInfo
节点:主执行语句,Insert、Udate、Delete语句;
Ø
WhereList
节点:条件子项;
执行函数:
ExeSingleNonQuery
、ExeNonQuery;
3.2.9 Other类型
示例
<OtherExeCommandName="Other"Depiction="
创建学生表">
<MainInfo>
CREATE TABLE [student]
(
[student_id] [int],
[student_name] [varchar] (40) ,
[student_birthday] [DateTime] ,
)
GO
</MainInfo>
</OtherExe>
说明
扩展查询;
子项说明
Ø
MainInfo
节点:单一执行语句;
执行函数:
ExeSingleNonQuery
、ExeNonQuery;
3.2.10 Single类型
示例
<SingleCommandName="Single"Depiction="
支持调用的程序直接写入SQL后进行操作,
标签固定格式">
<MainInfo>
</MainInfo>
</Single>
说明
程序执行单一语句,固定格式;
子项说明
Ø
MainInfo
节点:无信息,固定格式;
执行函数:
ExeQuery
、ExeQueryExtend、ExeSingleNonQuery、ExeNonQuery;
下载最新版本FrameCountry数据访问层架构:
http://blog.csdn.net/lizheng82/archive/2007/06/18/1656140.aspx