--修改 数据库文件名(逻辑文件名)
DECLARE @name VARCHAR(64)
DECLARE @i INT,
@j INT,
@count INT
DECLARE @newname VARCHAR(64)
DECLARE @db_name VARCHAR(32)
DECLARE @sql NVARCHAR(1200)
DECLARE @sql_use NVARCHAR(1200)
DECLARE @sql_get_file_count NVARCHAR(2400)
DECLARE @use_db VARCHAR(32)
DECLARE @file_count INT
SET @file_count =2--任何一个数据库 默认有两个文件(一个数据文件一个日志文件)
SET @j=1---数据库数据量循环变量
---获取数据库总数量
SELECT @count = Count(*)
FROM sys.databases
WHERE database_id > 4
WHILE @j <= @count
BEGIN
----获取数据库名
SELECT @db_name = name
FROM (SELECT Row_number()
OVER(
ORDER BY database_id)rn,
name
FROM sys.databases
WHERE database_id > 4
AND database_id <> 8)a
WHERE rn = @j
SET @i=1
SET @sql_get_file_count=N' use ' + @db_name + '' + Char(10) + Char(13)
+ 'select @file_count=max(file_id) from sys.database_files'
---获取数据库文件数量
EXEC Sp_executesql
@sql_get_file_count,
N'@db_name nvarchar(32),@file_count int OUTPUT',
@db_name,
@file_count OUTPUT
WHILE @i <= @file_count
BEGIN
SET @sql_use =N' use ' + @db_name + '' + Char(10) + Char(13)
+ 'select @name=name from sys.database_files where file_id =@i'
---获取现 逻辑文件名
EXEC Sp_executesql
@sql_use,
N'@db_name nvarchar(32),@name varchar(64) OUTPUT,@i int ',
@db_name,
@name OUTPUT,
@i
---构造文件最终修改成的格式
SET @newname =Stuff(@name, 1, Charindex('_', @name) - 1, 'shenhua')
SET @sql='alter database ' + @db_name
+ ' modify file (name=''' + @name
+ ''' ,newname=''' + @newname + ''')'
---修改逻辑文件名
EXEC Sp_executesql
@sql,
N'@db_name nvarchar(32),@name varchar(64),@newname varchar(64)',
@db_name,
@name,
@newname
---循环逻辑文件数量的变量
SET @i+=1
END
---循环数据库数量的变量
SET @j+=1
END
有时会碰到ListView的onItemClickListener事件无法响应,
主要原因:listview的子元素中包含了Button或者ImageButton之类的元素,button的优先级高于listview 所以不能监听item的点击事件。
解决方法:在item 的根节点加入 “ android:descendantFocusability="blocksDescendants" 即可。
补充:
android:descendantFocusability的该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
android:descendantFocusability的属性值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了
基础篇先请这里看http://blog.csdn.net/it_man/article/details/7782623
该页面列举了 SeaJS 中的常用实战过程中的问题。只要掌握这些方法,就可以娴熟地开始对你的网站进行模块化开发了。
默认情况下,SeaJS 要求所有文件都是标准的 CMD 模块,但现实场景下,有大量 jQuery 插件等非 CMD 模块存在。在 SeaJS 里,通过以下方式,可以直接调用非标准模块。
全站通用的要加载的库只写一次,而不想每个js里都调用,太繁琐//可以放在在 init.js 里暴露到全局,这样,所有在 init.js 之后载入的文件,就都可以直接通过全局变量来拿 $ 等对象。
seajs.use('init')
//init.js
define(function(require, exports) {
var $ = jQuery = require('jquery');
// 暴露到全局
window.$ = $;
});
1. 暴露 jQuery
jQuery 插件都依赖 jQuery 模块,为了加载 jQuery 插件,首先得将 jQuery 模块暴露出来:
// 配置 jquery 并放入预加载项中
seajs.config({
alias: {
'jquery': 'https://a.alipayobjects.com/static/arale/jquery/1.7.2/jquery.js'
},
preload: ["jquery"]
})
// 将 jQuery 暴露到全局
seajs.modify('jquery', function(require, exports) {
window.jQuery = window.$ = exports
})
2. 修改 jQuery 插件的接口
我们以 jquery.cookie 插件为例。
// 配置别名
seajs.config({
alias: {