存档

2009年1月 的存档

真的要测试?

2009年1月22日

尝试用windows live writer发表文章.

许石南 Twitter

SQL Server 存储过程的分页方案比拼

2009年1月21日

SQL Server 存储过程的分页,这个问题已经讨论过几年了,很多朋友在问我,所以在此发表一下我的观点
建立表:

1
2
3
4
5
6
7
8
CREATE TABLE [TestTable] (
 [ID] [int] IDENTITY (1, 1) NOT NULL ,
 [FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
 [LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
 [Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO

阅读全文…

许石南 技术 , ,

SQL Server 数据库相关分页技术

2009年1月21日

当数据库中的数据量很大时,一般从数据库中获取数据列表时,要求进行分页显示,尤其是在网络中.
经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。现在流行的分页方法一般是检索页面大小的块区的数据,而非检索所有的数据,然后单步执行当前行。
第一种,利用top 及not in进行分页。

1
2
3
4
5
6
7
select top @PageSize from TableName where [PK] not in
 (select top @RecordStart [pk] from jobs ) order by pk asc/desc
 
@PageSize是每一页显示的条数。
@TableName 是要求分页的表或者视图,PK是一个唯一字段。
@RecordStart 是记录开始的位置.根据每一页多少条,与第几页,算出来的.
    具体算法一般为:@RecordStart=PageSize*(PageNums-1)

该分页算法有以下主要问题,如果用非主键字段(或者非唯一字段)排序,再进行分页时,导致取出来的数据不正确。并且效率不高。

阅读全文…

许石南 技术 , ,

Gridview导出为Excel

2009年1月9日

尝试了一下Gridview导出为Excel,原本以为很简单,可是真正应用起来还是不太好弄的,呵呵,所想非所得。总结了一下应该注意下面几点:
1.由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后databind()一下,确保搂到所有数据;
2.不用单独设置导出的路径,导出时会弹出对话框让你确认保存位置;
3.要写一个空的VerifyRenderingInServerForm方法(必须写),以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件;
4.导出后别忘记再重新设置其allowpaging属性;

阅读全文…

许石南 技术 ,

使用AspNetPager与GridView完成分页

2009年1月8日

由于GridView的分页功能实在是太弱了,所以需要使用强大的AspNetPager来作为分页控件。最简单的办法就是GridView控件下面接着放一个AspNetPager控件,但是这样好像就不能用GridView的分页功能了。在数据量不大的情况下,使用GridView的分页是十分方便有效的。另外还有一个问题就是分页控件在GridView生成的表格的下面,而没有像GridView自带分页那样包含到表格内部,这点也不是很爽。

要解决以上的问题,可以将AspNetPager放入GridView的分页模板(PagerTemplate)中,如下代码所示:

?View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<asp :GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True">
    <columns>
        <asp :BoundField DataField="DmId" HeaderText="序号" ReadOnly="True" SortExpression="DMID">
        ……
        ……
    <columns>
        <pagerstyle  HorizontalAlign="Center">
        <pagertemplate>
            <asp :AspNetPager ID="AspNetPager1" runat="server" ShowBoxThreshold="5"
              ShowPageIndexBox="Auto" CenterCurrentPageButton="True">
            </asp>
        </pagertemplate>
</pagerstyle></columns></asp> 
</columns></asp>

阅读全文…

许石南 技术 ,

SQL Server 2005启用sa账号

2009年1月7日
  1. 启用远程连接
      菜单Start->Microsoft SQL Server 2005->Configuration Tools->SQL Server Configuration Manager
      选中SQL Server 2005 Network Configuration
      在右边的TCP/IP上点右键,enabled
  2. 启用混合登录和sa帐户
      菜单Start->Microsoft SQL Server 2005->SQL Server Management Studio Express
      登录对话框直接点connect进去
      在左边根结点(yourpcSQLEXPRESS)上点右建
      选properties
      左边选security,右边选中SQL Server and Windows Authentication Mode
      工具栏第一个按钮new query
      在查询窗口中执行
      exec sp_password NULL,’yourpassword’,’sa’
      alter login sa enable
      关闭SQL Server Management Studio Express
  3. 重启SQL Server服务
      菜单Start->Microsoft SQL Server 2005->Configuration Tools->SQL Server Configuration Manager
      选中SQL Server 2005 Services
      在右边的SQL Server(SQLEXPRESS)上点右键,Restart
  4. 用sa登录
      菜单Start->Microsoft SQL Server 2005->SQL Server Management Studio Express
      登录对话框Authentication选择SQL Server Authentication
      点connect
      如果不出意外,应该可以成功登录。

许石南 技术 ,

AspNetPager的使用

2009年1月6日

1.将控件放入工具箱的方法是右键点击工具箱,选择添加项目,然后刘览相关dll文件。
2.控件外观的设定

?View Code CSHARP
1
2
3
4
5
<webdiyer :AspNetPager ID="AspNetPager1" runat="server" UrlPaging="true" 
  PageSize="5" ShowCustomInfoSection="Left" NumericButtonTextFormatString="[{0}]"
  ShowBoxThreshold="5" AlwaysShow="true" OnPageChanged="AspNetPager1_PageChanged
</webdiyer:AspNetPager>
</webdiyer>

3.设定总的记录笔数在Page_Load事件里面
阅读全文…

许石南 技术

JAVAScript实现MD5加密

2009年1月6日

首先你要去

md5的js下载地址/

下载一个js的使用代码

调用:

CODE:

<script type="text/javascript" src="md5.js"></script>实现加密:

CODE:

<script type="text/javascript" >
  hash = hex_md5("input string");
</script>
或者只要在

CODE:

<form onsubmit="pwd.value =hex_md5(pwd.value)">这样做的好处是

CODE:

1.通过这个md5的js生成的代码和php的是一样,减少服务器在md5加密的负担

2.因为密码是直接在客户端就进行加密,不像php要传到服务器端才加密,这样传输过程的安全也得到进一步的加强

许石南 技术

windows 下删除svn文件夹

2009年1月3日

最近做一个项目,以前是在公司代码库用svn的形式存放的.后来不知道是什么原因导致代码库丢失了,只在个人电脑上保留了备份.我拿过来之后,发现里面很多svn的文件夹.既然公司的代码库都没了,这个svn也没用了,于是萌生了删除之的想法.但是作为程序员,手工删除也太丢人了吧,于是打算用bat文件来删.看了几天dos命令,得到如下代码:

for /r . %a in (.) do @if exist %a\.svn rd /s /q %a\.svn

ok,解决啦.

许石南 技术 , ,

© 2008-2009 cloved.cn, Power By WordPress, Design By sheath, WordPress Themes by mg12.

Full RSS - Comments RSS - 粤ICP备09006273号

免责声明:本站所有内容均来源于互联网,若侵犯您的权利,请来信告知,本站会第一时间处理.