记录Harde学习成长生活的点点滴滴.
2009-09-30 计算机


2条评论
505 次浏览

华硕笔记本OEM激活Windows7(M51SE为例)

终于看到华硕的SLIC2.1了….

在我的网盘下载华硕的Slic2.1


各种品牌的SLIC2.1
RAR压缩文档 39KB

然后用AMITool修改Bios


AMITool133汉化版
RAR压缩文档 1.56MB

超静3搞定…

AMI Tool

我不知道这样对不对,反正现在好用….
我改好的BIOS(适用于华硕M51SE )(基于205制作)


M51SEAS_SLIC.205
BIOS ROM 1MB

Asus OEM

SLIC2.1

解决C# 自定义控件数据源绑定的问题

每次做同样的事的确很麻烦,今天就单独拿出时间做了个自定义控件,
不过刚写道“属性”这我就卡壳了…无他 数据源的问题…
不是BindingSource类型…
晕了…无奈MSDN吧…..
找了半天终于翻出来了
AttributeProviderAttribute 类
MSDN:ms-help://MS.MSDNQTR.v90.chs/fxref_system/html/fdad4c93-2653-5b58-9de8-16d07107e47d.htm
备注是这样写的

在 .NET Framework 对象模型中,有些情况下会有意将属性类型化为模糊的。例如,将 DataGridView..::.DataSource 属性类型化为 object。之所以这样,是为了让此属性可以接受多种类型的输入。遗憾的是,这样做并未提供添加元数据以描述属性特性的通用方法。对于需要元数据的类型转换器、UI 类型编辑器和其他服务,.NET Framework 中的每个 DataSource 属性都需要具有相同的元数据。AttributeProviderAttribute 对此情况进行了补救。

此属性 (Attribute) 一旦被置于属性 (Property) 上,用于获得属性 (Property) 描述符的 MemberDescriptor..::.Attributes 集合的属性 (Attribute) 的规则就会有所不同。通常,属性 (Property) 描述符收集本地属性 (Attribute),然后再将其与来自属性 (Property) 类型的属性 (Attribute) 进行合并。在此情况下,将从 AttributeProviderAttribute 所返回的类型中而不是从实际属性 (Property) 类型获取属性 (Attribute)。此属性 (Attribute) 用在 DataGridView..::.DataSource 中,以使 DataGridView..::.DataSource 对象的特定类型指向 IListSource,并且相应的元数据放在 IListSource 中,以启用数据绑定。在这种情况下,可以从外部轻松地向所有数据源添加元数据。

在属性 (Property) 类型的属性 (Attribute) 和属性 (Property) 上的属性 (Attribute) 之间,从 AttributeProviderAttribute 中声明的类型中获取的属性 (Attribute) 优先。下面的列表按优先级顺序显示可用的已合并属性 (Attribute) 的全集:

属性 (Property) 的属性 (Attribute)

属性提供程序属性

属性 (Property) 类型的属性 (Attribute)

底下也给出代码
点击我阅读全文 »

储存过程实现数据分页[千万数量级]

今天在网上溜达时看到的,Copy过来存个档

至于原作者就无从考证了,因为我Copy的文章上写着 他也是Copy的….

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
ALTER    PROCEDURE SP_Pagination
/**//*
***************************************************************
** 千万数量级分页存储过程 **
***************************************************************
参数说明:
1.Tables :表名称,视图
2.PrimaryKey :主关键字
3.Sort :排序语句,不带Order By 比如:NewsID Desc,OrderRows Asc
4.CurrentPage :当前页码
5.PageSize :分页尺寸
6.Filter :过滤语句,不带Where 
7.Group :Group语句,不带Group By
效果演示:http://www.cn5135.com/_App/Enterprise/QueryResult.aspx
***************************************************************/
(
@Tables varchar(2000),
@PrimaryKey varchar(500),
@Sort varchar(500) = NULL,
@CurrentPage int = 1,
@PageSize int = 10,
@Fields varchar(2000) = '*',
@Filter varchar(1000) = NULL,
@Group varchar(1000) = NULL
)
AS
/**//*默认排序*/
IF @Sort IS NULL OR @Sort = ''
SET @Sort = @PrimaryKey
DECLARE @SortTable varchar(1000)
DECLARE @SortName varchar(1000)
DECLARE @strSortColumn varchar(1000)
DECLARE @operator char(2)
DECLARE @type varchar(1000)
DECLARE @prec int
/**//*设定排序语句.*/
IF CHARINDEX('DESC',@Sort)>0
BEGIN
SET @strSortColumn = REPLACE(@Sort, 'DESC', '')
SET @operator = '<='
END
ELSE
BEGIN
IF CHARINDEX('ASC', @Sort) = 0
SET @strSortColumn = REPLACE(@Sort, 'ASC', '')
SET @operator = '>='
END
IF CHARINDEX('.', @strSortColumn) > 0
BEGIN
SET @SortTable = SUBSTRING(@strSortColumn, 0, CHARINDEX('.',@strSortColumn))
SET @SortName = SUBSTRING(@strSortColumn, CHARINDEX('.',@strSortColumn) + 1, LEN(@strSortColumn))
END
ELSE
BEGIN
SET @SortTable = @Tables
SET @SortName = @strSortColumn
END
SELECT @type=t.name, @prec=c.prec
FROM sysobjects o 
JOIN syscolumns c on o.id=c.id
JOIN systypes t on c.xusertype=t.xusertype
WHERE o.name = @SortTable AND c.name = @SortName
IF CHARINDEX('char', @type) > 0
SET @type = @type + '(' + CAST(@prec AS varchar) + ')'
DECLARE @strPageSize varchar(500)
DECLARE @strStartRow varchar(500)
DECLARE @strFilter varchar(1000)
DECLARE @strSimpleFilter varchar(1000)
DECLARE @strGroup varchar(1000)
/**//*默认当前页*/
IF @CurrentPage < 1
SET @CurrentPage = 1
/**//*设置分页参数.*/
SET @strPageSize = CAST(@PageSize AS varchar(500))
SET @strStartRow = CAST(((@CurrentPage - 1)*@PageSize + 1) AS varchar(500))
/**//*筛选以及分组语句.*/
IF @Filter IS NOT NULL AND @Filter != ''
BEGIN
SET @strFilter = ' WHERE ' + @Filter + ' '
SET @strSimpleFilter = ' AND ' + @Filter + ' '
END
ELSE
BEGIN
SET @strSimpleFilter = ''
SET @strFilter = ''
END
IF @Group IS NOT NULL AND @Group != ''
SET @strGroup = ' GROUP BY ' + @Group + ' '
ELSE
SET @strGroup = ''
/**//*执行查询语句*/
EXEC(
'
DECLARE @SortColumn ' + @type + '
SET ROWCOUNT ' + @strStartRow + '
SELECT @SortColumn=' + @strSortColumn + ' FROM ' + @Tables + @strFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
SET ROWCOUNT ' + @strPageSize + '
SELECT ' + @Fields + ' FROM ' + @Tables + ' WHERE ' + @strSortColumn + @operator + ' @SortColumn ' + @strSimpleFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
'
)
2009-09-25 C#


没有评论
125 次浏览

C#命名规范和风格标准

一直以来都不怎么太在乎代码的书写规范,全部Camel解决,今天被人好顿BS….决心痛改前非….

下文是网上Copy的,真正的原文地址是不可查了…

 

1. 使用Pascal的命名规范命名类型和方法的名字。
public class SomeClass
{
    public SomeMethod(){}
}
2. 使用camel命名规范命名局部变量和方法的参数。
int number;
void MyMethod(int someNumber)
{}
3. 在命名接口的时候使用I作为前缀。
interface IMyInterface
{…}
4. 私有成员变量使用m_作为前缀。
public class SomeClass
{
   private int m_Number;
}
5. 自定义的属性类使用Attribute作为其后缀。
6. 自定义的异常类使用Exception作为其后缀。
7. 在命名方法的时候使用动宾结构的短语,比如:ShowDialog()。
8. 有返回值的方法应该有一个可以描述其返回值的名字,比如:GetObjectState()。
9. 使用有意义的变量名称。
10. 使用C#的预定义的类型而不使用System命名空间中其别名来申明变量。
使用object 而不是 Object
使用string 而不是 String
使用 int 而不是 Int32 点击我阅读全文 »

Visual Stadio 2010试用

昨天晚上从MSDN下回了Visual Stadio 2010 Team Suite Beta

VS2010_0
第一个让我惊喜的是VS2010的体积
解压后竟然仅有1.22GB与VS2008 4.34GB的体积产生鲜明对比

虽然还不是正式版
但是看安装的选项,估计正式版的体积也不会太庞大到哪去

不过和体积成反比的是安装的时间,或许是因为在虚拟机安装的原因,安装异常的慢…
看下安装吧

我在虚拟机纯净XP里安装的

 

VS2010_1

 在安装完.NET Framework4.0后会重启计算机,重启后 自动继续安装

 

VS2010_3

OK,安装完成,下图是自动出现的安装反馈

VS2010_4

 启动界面

VS2010_5

一如既往的默认开发环境选择

VS2010_6

欢迎界面有点让我想起了MyEclipse6.X

VS2010_7

列表的显示虽然感觉很漂亮,但我感觉还是图标直观些…

.net选项那 多出了.net4.0

VS2010_8

Winform的工具箱

这里不得不提下Chart控件在 VS2010里作为标准控件出现在了Data选项卡里..

VS2010_9

 

期待正式版的发行

返回顶部