5.0怎么设置proe5.0默认单位设置访问模块

Posts - 441,
Articles - 102,
Comments - 1684
突破单一数据库类型及单一编程语言来思考的程序员。
07:08 by Virus-BeautyCode, ... 阅读,
  鉴于企业库5.0已经发布正式版,同时有广大读者的要求(臭屁一下,o(∩_∩)o...),后面文章的内容和代码将基于Enterprise Library5.0和Unity2.0来写,感谢大家的一贯支持。
  数据库访问模块都能实现哪些功能呢?数据库访问模块抽象类你正在使用的数据库,提供了一些列接口,使得你可以更容易的实现常用的数据库访问功能。例如:使用Database类填充DataSet数据集,用database类获取一个适当的Command实例,然后调用database的ExecuteDataSet方法,就可以填充数据集。不需要你调用DataAdapter的Fill方法。ExecuteDataSet方法管理数据库连接,实现了填充数据集所需要的所有工作。使用类似的方法,通过database类可以直接执行command,可以获取一个DataReader实例,可以用dataset中的数据更新数据库。模块也支持多个操作的事务,如果失败的话,可以回滚。
  除了使用ADO.NET也能完成的常用功能以外,模块还支持异步访问数据库(只要数据支持)。还可以返回客户端可以用LINQ查询的数据的序列对象形式。
  使用数据访问模块的主要优点,除了简化开发以外,它使得你可以创建一种provider独立的应用,可以很容易的更换不同的数据提供源。在大多数情况下,除非你在代码中指定了数据库类型,剩下的就是更改配置文件中的连接字符串配置节就可以了。不需要你修改代码中的sql查询和存储过程及其参数。
  数据访问模块提供的常用方法
  下面列出一些模块常用的获取数据、更新数据方法,其中有一些和直接使用ADO.NET中的方法很相似。
ExecuteDataset,创建,加载,返回数据集
LoadData,加载数据到一个已经存在的数据集
UpdateDataSet,使用已经存在的数据集更新数据库内容
填充一个数据集,使用数据集更新数据库
ExecuteReader,创建,返回一个provider独立的DbDataReader实例
从数据库读取多行数据
ExecuteNonQuery,执行command,返回数据库受影响的行数,可以通过output返回多个值
ExecuteScalar,执行command,返回单个值
执行command数据库命令对象
ExecuteSproAccessor,使用存储过程返回一个客户端可以查询的序列对象
ExecuteSqlStringAccessor,使用SQL语句返回一个客户端可以查询的序列对象
以序列对象的形式返回数据
ExecuteXmlReader,返回xml格式的数据,xmlReader类型,这个只能用在SQL Server数据库,通过SqlDatabase类调用,Database类中没有这个方法。
获取xml格式数据(只能用在SQL Server数据库)
GetStoredProcCommand,返回一个存储过程的数据库command对象
GetSqlStringCommand,返回一个SQL语句的数据库command对象
创建一个Command对象
AddInParameter,创建一个新的input参数,并且加入command的参数集合
AddOutParameter,创建一个新的output参数,并且加入command的参数集合
AddParameter,创建一个指定类型的参数,并且加入command的参数集合
GetParameterValue,以Object类型返回指定参数的值
SetParameterValue,给指定参数赋值
处理command的参数
CreateConnection,创建,返回当前数据库的连接,允许你通过这个链接初始化和管理数据库事务
处理数据库事务
&&&&& 如果你使用SqlDatabase类的话,可以使用Begin和End类型的方法实现数据库异步操作。
&&&&& 如何使用数据库访问模块
&&&&& 1首先通过企业库的配置工具添加模块配置
&&&&& 2在代码中添加如下代码
static&Database&defaultDB&=&null;static&Database&namedDB&=&null;//&从容器中获取默认的数据库对象//&The&actual&concrete&type&is&determined&by&the&configuration&settings.defaultDB&=&EnterpriseLibraryContainer.Current.GetInstance&Database&();//&从容器中获取指定名称的数据库对象
namedDB=&EnterpriseLibraryContainer.Current.GetInstance&Database&("ExampleDatabase");
&&&&&& 如果你需要使用ExecuteXmlReader方法,或者是需要使用SQL Server数据库对象的话,可以用下面的代码。
static&SqlDatabase&sqlServerDB&=&null;//&Resolve&a&SqlDatabase&object&from&the&container&using&the&default&database.sqlServerDB&=&EnterpriseLibraryContainer.Current.GetInstance&Database&()as&SqlD//&Assume&the&method&GetConnectionString&exists&in&your&application&and//&returns&a&valid&connection&string.string&myConnectionString&=&GetConnectionString();SqlDatabase&sqlDatabase&=&new&SqlDatabase(myConnectionString);
&&&&& 使用DataReader获取多行数据
//&Call&the&ExecuteReader&method&by&specifying&just&the&stored&procedure&name.using&(IDataReader&reader&=&namedDB.ExecuteReader("MyStoredProcName")){//&Use&the&values&in&the&rows&as&required.}//&Call&the&ExecuteReader&method&by&specifying&the&command&type//&as&a&SQL&statement,&and&passing&in&the&SQL&statement.using&(IDataReader&reader&=&namedDB.ExecuteReader(CommandType.Text,"SELECT&TOP&1&*&FROM&OrderList")){//&Use&the&values&in&the&rows&as&required&‐&here&we&are&just&displaying&them.DisplayRowValues(reader);}
&&&&& 根据参数获取多行数据
using&(IDataReader&reader&=&defaultDB.ExecuteReader("ListOrdersByState",new&object[]&{&"Colorado"&})){//&Use&the&values&in&the&rows&as&required&‐&here&we&are&just&displaying&them.DisplayRowValues(reader);}
&&&&& 通过添加参数获取多行数据
//&Read&data&with&a&SQL&statement&that&accepts&one&parameter.string&sqlStatement&=&"SELECT&TOP&1&*&FROM&OrderList&WHERE&State&LIKE&@state";//&Create&a&suitable&command&type&and&add&the&required&parameter.using&(DbCommand&sqlCmd&=&defaultDB.GetSqlStringCommand(sqlStatement)){defaultDB.AddInParameter(sqlCmd,&"state",&DbType.String,&"New&York");//&Call&the&ExecuteReader&method&with&the&command.using&(IDataReader&sqlReader&=&namedDB.ExecuteReader(sqlCmd)){Console.WriteLine("Results&from&executing&SQL&statement:");DisplayRowValues(sqlReader);}}
//&Create&a&suitable&command&type&and&add&the&required&parameter.using&(DbCommand&sprocCmd&=&defaultDB.GetStoredProcCommand(storedProcName)){defaultDB.AddInParameter(sprocCmd,&"state",&DbType.String,&"New&York");//&Call&the&ExecuteReader&method&with&the&command.using&(IDataReader&sprocReader&=&namedDB.ExecuteReader(sprocCmd)){Console.WriteLine("Results&from&executing&stored&procedure:");DisplayRowValues(sprocReader);}}
&&&&& 以对象形式返回数据
&&&&& 上图是一个使用Accessor访问数据库,返回对象形式的数据的过程。
未完待续。。。。。。。。。。。。。。。。。。。。。。。。5.0 安装调试完成确认单(按模块确定项目,..._百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
5.0 安装调试完成确认单(按模块确定项目,...
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢模块设计 - [ ThinkPHP5.0完全开发手册 ] - 看云
5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改)。
标准的应用和模块目录结构如下:
├─application
应用目录(可设置)
├─common
公共模块目录(可选)
├─common.php
公共函数文件
├─route.php
路由配置文件
├─database.php
数据库配置文件
├─config.php
应用配置文件
├─module1
├─config.php
模块配置文件
├─common.php
模块函数文件
├─controller
控制器目录
模型目录(可选)
视图目录(可选)
更多类库目录
├─module2
├─config.php
模块配置文件
├─common.php
模块函数文件
├─controller
控制器目录
模型目录(可选)
视图目录(可选)
更多类库目录
遵循ThinkPHP5.0的命名规范,模块目录全部采用小写和下划线命名。
模块名称请避免使用PHP保留关键字(保留字列表参见
),否则会造成系统错误。
其中common模块是一个特殊的模块,默认是禁止直接访问的,一般用于放置一些公共的类库用于其他模块的继承。
一个模块下面的类库文件的命名空间统一以app\模块名开头,例如:
// index模块的Index控制器类
app\index\controller\Index
// index模块的User模型类
app\index\model\User
其中app可以通过定义的方式更改,例如我们在应用配置文件中修改:
'app_namespace' =& 'application',
那么,index模块的类库命名空间则变成:
// index模块的Index控制器类
application\index\controller\Index
// index模块的User模型类
application\index\model\User
更多的关于类库和命名空间的关系可以参考下一章节:命名空间。
模块和控制器隐藏
由于默认是采用多模块的支持,所以多个模块的情况下必须在URL地址中标识当前模块,如果只有一个模块的话,可以进行模块绑定,方法是应用的入口文件中添加如下代码:
// 绑定当前访问到index模块
define('BIND_MODULE','index');
绑定后,我们的URL访问地址则变成:
访问的模块是index模块。
如果你的应用比较简单,模块和控制器都只有一个,那么可以在应用公共文件中绑定模块和控制器,如下:
// 绑定当前访问到index模块的index控制器
define('BIND_MODULE','index/index');
设置后,我们的URL访问地址则变成:
访问的模块是index模块,控制器是Index控制器。
如果你的应用比较简单,只有唯一一个模块,那么可以进一步简化成使用单一模块结构,方法如下:
首先在应用配置文件中定义:
// 关闭多模块设计
'app_multi_module'
然后,调整应用目录的结构为如下:
├─application
应用目录(可设置)
├─controller
控制器目录
更多类库目录
├─common.php
├─route.php
路由配置文件
├─database.php
数据库配置文件
└─config.php
URL访问地址变成
同时,单一模块设计下的应用类库的命名空间也有所调整,例如:
app\index\controller\Index
app\index\model\User
app\controller\Index
app\model\User
更多的URL简化和定制还可以通过URL路由功能实现。
页面正在加载中ProE5.0钣金模块默认参数设置方法详解
作者:proe技巧&&分类:&& 标签:&&&&&&
我们一般进入钣金模块之间操作都是采用了默认参数,其实如果对于参数设置的话,可以提高我们的设计效率,下面就分享这个视频给大家学习下。
ProE5.0钣金设计视频教程之默认参数设置方法详解。
本文链接:
原创文章如转载请注明:转载自谢谢!
21:1:23 12:33:40 21:55:21 13:59:52 13:30:8 20:59:7 17:45:18 22:26:12 19:36:17 19:29:21
说实话没怎么看明白,不会还是收藏了,是个好博客呢~
名称(必填)
记住我,下次回复时不用重新输入个人信息
◎请勿发送广告、推广信息或链接,这样的信息将会被直接删除。
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "/h.js%3F64f284c880baa423e94a7b4' type='text/javascript'%3E%3C/script%3E"));thinkphp5.0问题设置默认模块!是bug吗? - ThinkPHP框架
config里面设置了default_module =& 'home',之后
可是报错module [ index ] not exists?
我访问的链接是/Index/index
本应该是访问默认home模块下的Index/index,可是url解析的时候怎么会把Index当做module呢?
积分:2259
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

我要回帖

更多关于 tp 设置默认模块 的文章

 

随机推荐