代码改变世界

随笔档案-2007年07月

Sql Server 中模拟数组

2007-07-30 23:54 by 晓风残月, 1213 阅读, 收藏, 编辑
摘要: SQL Server 不支持数组参数,然而作为二维关系的“表”事实上不就是一个“数组”吗?这里通过自定义函数分隔目标字符串,并作为表变量结果集返回。自定义函数可以直接用在常见的 DML 语句中,如 SELECT。对于某些多对多应用中,前端应用程序可以直接将多的那边键连接成字符串,连同一的那边的数据一次性传入存储过程,执行数据写入,不必在应用程序,遍历循环多次执行 Command。使用示例 CREA... 阅读全文

AjaxPro 返回 DataSet/DataTable/DataView 如何呈现?

2007-07-30 01:43 by 晓风残月, 4033 阅读, 收藏, 编辑
摘要: 此示例展示通过 AjaxPro 返回一个 DataSet 并在页面上通过 html table 输出。主要代码// js // .aspx.cs [AjaxPro.AjaxNamespace("AjaxProSample")]public partial class AjaxPro_ReturnDataSet : System.Web.UI.Page{ protected void... 阅读全文

ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

2007-07-29 23:53 by 晓风残月, 2861 阅读, 收藏, 编辑
摘要: 有时候希望在 GridView 模板中使用自动回发的 CheckBox (autopostback=true) ,但是 CheckBox 没有 CommandName 属性,因此也就无法在 GridView.RowCommand 事件中处理,并且如何获取当前 GridView 行信息呢?我们可以选择像处理页面上普通 CheckBox 的 CheckedChanged 事件的“最原始”的方式。要点... 阅读全文

SQL 获取指定月份的天数

2007-07-29 22:55 by 晓风残月, 2573 阅读, 收藏, 编辑
摘要: 数据库:MS Sql Server日历:数据库设置的日历,通常为公历。 DECLARE @YEAR_MONTH varchar(6)SET @YEAR_MONTH = '200702'SELECT DAY(DATEADD(MM, 1, CONVERT(DATETIME, @YEAR_MONTH + '01', 112)) - DAY(CONVERT(DATETIME, @YEAR_MONTH + ... 阅读全文

MSDN 收藏夹丢失

2007-07-28 08:22 by 晓风残月, 762 阅读, 收藏, 编辑
摘要: 一早起来,发现 MSDN 收藏夹空空如也了,之前收藏几百份文档不见了 也不晓得何时丢的,呜乎哀哉 当初喜闻 MSDN 2005 提供收藏夹功能,甚是高兴——一直想抽空开发插件支持之呢 后来发现,原来此功能纯属 MS 搞的又一鸡肋功能,无法分级分类(虽然IE的收藏夹也够鸡肋,至少还可以建子文件),通过 VS 2005 的【导入导出】功能对 MSDN 收藏夹几乎“免疫”,视而不见,呼呼,不得不说... 阅读全文

ASP.NET DEMO 13: 如何为 SqlDataSource 动态绑定变量参数

2007-07-27 01:48 by 晓风残月, 5705 阅读, 收藏, 编辑
摘要: 对于 xxxDataSource 来说,支持绑定参数,包括 ControlParameter、CookieParameter、SessionParameter、ProfileParameter 和 QueryStringParameter。假如参数值直接来自于应用程序变量或者通过某个方法返回呢?查阅了关于参数基类 Parameter 类 似乎不支持此功能,有一个选择就是扩展自己的 Paramete... 阅读全文

关于跨页提交与验证控件的问题

2007-07-27 01:02 by 晓风残月, 1019 阅读, 收藏, 编辑
摘要: 问题来源 a.aspx是一个注册页面.它上面有一个检测用户名格式的正则表达式控件(RegularExpressionValidator),一个检测用户名是否存在的用户自定义控件(CustomValidator). 正则表达式控件的客户端验证是关闭的,如果注册成功后就提交到b.aspx,我把一个服务器按钮的PostBackUrl="~/b.aspx"但出现问题了:当用户名不合法或者用户已经存在的情况... 阅读全文

ASP.NET DEMO 12 : CheckBoxList 实现单选

2007-07-18 23:48 by 晓风残月, 5541 阅读, 收藏, 编辑
摘要: 一看标题估计大家都开始怀疑了:单选?为什么不直接使用 RadioButtonList ?是的。你是对的。然而,实际应用中需求千变万化,谁让我们的客户够 BT 呢?主要代码只有一个通用的 CheckBoxList_Click 函数,需要注意的是 CheckBoxList 可以呈现为 table 布局,也可以呈现为流布局(使用 span 做外部容器)我的习惯是,脚本代码中,尽量不直接引用 html i... 阅读全文

C# 中格式化字符串中包含 { 或者 } 如何转义?

2007-07-18 23:24 by 晓风残月, 8459 阅读, 收藏, 编辑
摘要: C# 中使用类似 {0}, {1:yyyy-MM-dd} 这样的格式占位符,如果被格式化字符串本身包含 { 或者 } 怎么办呢?答案是:用两个 { 或者 }连写表示单个。例如 string str1 = String.Format("{{Hello}}, {0}, Now is {{{1:yyyy-MM-dd HH:mm:ss}}}", "Jinglecat", DateTime.Now); //... 阅读全文

ASP.NET DEMO 11: 两个 ListBox 互选(服务器端与客户端版本)

2007-07-18 04:44 by 晓风残月, 1202 阅读, 收藏, 编辑
摘要: 看似简单的问题, CSDN 中每每有人提问,故整理之事实上,主要是如何考虑遍历元素个数变化的动态集合(因为遍历过程要执行删除)特别是对于 C# ,不能使用 foreach,foreach 是只读遍历的。服务器端版本 // 方法1,正序遍历 private void SwapListBox(ListBox src, ListBox dst) { for (int i = ... 阅读全文

C# 调用 Microsoft.VisualBasic.Collection

2007-07-17 23:54 by 晓风残月, 1664 阅读, 收藏, 编辑
摘要: 问题 Dim d As New Collection d.Add("Northsnow") d.Add("塞北的雪") d.Add("http://blog.csdn.net") Dim t As New ArrayList(d) Dim sb As New System.Text.StringBuilder() If t.Count > 0 Then sb.Append("ArrayList中共... 阅读全文

如何对 DataTable 执行 SELECT DISTINCT

2007-07-16 20:57 by 晓风残月, 7971 阅读, 收藏, 编辑
摘要: 在 ADO.NET 1.x & 2.0 中, System.Data.DataTable 类虽然公开 Select 方法,但不支持 DISTINCT 关键字,而我们在实际开发中免不了有这样的需求:对已有 DataTable 进行 SELECT DISTINCT ,返回指定列具有唯一值的行,这些行存在新的 DataTable 中。对于此问题,很早就有人提出来了,大家也做了很多尝试。看到 CSDN ... 阅读全文

ASP.NET DEMO 10: 如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值

2007-07-15 21:29 by 晓风残月, 4578 阅读, 收藏, 编辑
摘要: 功能需求1, 单击 checkbox 返回当前行值2, 外部按钮获取所有选择行的值实现说明参见主要代码,代码为自说明式。主要代码 ... 阅读全文

ASP.NET DEMO 8: 为 GridView/DataGrid 整行添加服务器事件

2007-07-15 00:37 by 晓风残月, 3677 阅读, 收藏, 编辑
摘要: 需求说明GridView/DataGrid 本身均支持行选择事件(通过设置Button/LinkButton.CommandName="Selected",并在 SelectedIndexChanged 事件中处理)。然而,有时候我们希望用户点击 GridView/DataGrid 一行中任意位置都可以实现触发一个事件,并在服务端对此行进行相应处理,现在我们就实现此功能。实现方式这里我们采取的方法... 阅读全文

一种简单实用的 AjaxPro 调试/错误处理方式

2007-07-14 02:58 by 晓风残月, 1866 阅读, 收藏, 编辑
摘要: A. 需求说明 发现有不少网友在用 AjaxPro,看大家提供的代码示例,基本上都没有进行错误处理, 甚至很多朋友都不知道,对于 AjaxPro 返回的响应结果对象有一个 error 属性表示是否发生了错误。 AjaxPro 服务端采取基于异常的处理方式,假如调用发生异常, 返回的 error 属性包含了该异常( Exception 对象)的相关信息,包括错误信息,堆栈... 阅读全文

gmail 在 Opera 下用 紫光 竟然自动复制输入

2007-07-12 00:28 by 晓风残月, 559 阅读, 收藏, 编辑
摘要: 用了一段事时间的 Opera ,觉得满不错的,特别是 9.2 版本增加的“快速拨号”功能。可惜CuteEditor 对 Opera 支持不好,再 Opera 编辑博客园的文章,看不到设计视图。刚刚用 Opera 访问 gmail,发现用紫光输入法,编辑邮件时,主体编辑器竟然会自动复制输入的内容:奇耶之前只是知道,在 MS Access 中用紫光无法输入中文换用智能 ABC 就好了,有时间研究下gm... 阅读全文

通过 javascript 在光标处插入文本

2007-07-11 22:22 by 晓风残月, 2146 阅读, 收藏, 编辑
摘要: 功能:实现将指定文本插入到目标文本框中的最后一次光标位置通过一个窗口的全局变量记录目标文本框的最后一次光标位置,因为当你离开此文本框之后,焦点也就移开了。获取光标位置(包括选中文本时的起始位置)使用函数,采用 Marshall 的方法:http://blog.csdn.net/liujin4049/archive/2006/09/19/1244065.aspx非常感谢 Marshall I... 阅读全文

如何查看 SQL Server 2k 的版本信息

2007-07-11 03:44 by 晓风残月, 4129 阅读, 收藏, 编辑
摘要: 偶然看到一段对 SQL Server 2k 的版本信息说明,记之: 如何知道自己的MS SQL-SERVER2000现在到底打了哪个补丁,在MS SQL-SERVER2000中没有直接查看安装版本及补丁的工具,但是我们可以通过查询分析器可以了解到我们想要了解的信息,只需要在查询分析器中输入select @@version 在输出结果中: 1、8.00.194 表示此版本是SQ... 阅读全文

SQL Server 中多行多列连接成为单行单列

2007-07-11 03:10 by 晓风残月, 2427 阅读, 收藏, 编辑
摘要: 原始结构: Column1 Column2 ----------- ----------1 A1 B2 C2 D2 ... 阅读全文

让 ASP.NET 2.0 的 Sumbit Button 支持 禁用(灰化)提交

2007-07-11 01:11 by 晓风残月, 2264 阅读, 收藏, 编辑
摘要: 上篇文章 禁用(灰化) Button 后提交的问题 讨论了 ASP.NET 2.0 中 UseSubmitBehavior=true 即使通过 form onsumit 处理也无法有效实现完成提交前的灰化功能 曾想当然的认为可以在 form 的 onsumit 中 disable input type=submit注:ASP时代更常用此方案,可以同时对一个form具有多个提交按钮作出统一的“响应... 阅读全文

ASP.NET DEMO 7: 解决无法获取 GridView 隐藏列值问题

2007-07-10 23:54 by 晓风残月, 4192 阅读, 收藏, 编辑
摘要: 在 GridView/DetailsView 中如果 BoundField 的 Visible=false 时, 回发的时候无法此列的值(GridViewRow.Cells[cellIndex].Text将为空),网上很多朋友提出了各种各样的解决方案,这里整理一下,并提供示例。未反射 GridView 类,不曾仔细阅读其源码,不知内部实现对于 BoundField(普通绑定列),当此列 Visi... 阅读全文

禁用(灰化) Button 后提交的问题

2007-07-10 01:01 by 晓风残月, 8293 阅读, 收藏, 编辑
摘要: 某些处理响应时间较长,为了防止用户重复连续点击提交按钮,我们通常会在点击之后 disable 此按钮。 在 ASP.NET 2.0 中 asp:button 默认使用客户端浏览器的提交机制即呈现为 input type=submit,如果直接设置 onclientclick="this.disabled=true" ,将无法执行提交。解决方法:只有设置 UseSubmitBehavior=fals... 阅读全文

如何修改 IE 默认的源代码编辑器

2007-07-08 17:46 by 晓风残月, 1215 阅读, 收藏, 编辑
摘要: 装了 UltraEdit 之后,每次从 IE 查看源代码的时候,总是自动打开 UltraEdit ,即使取消其与 htm 等文件关联,也没有效果,一直想办法修改会notepad。今天从注册表编辑自定义 IE 工具栏,偶然发现 Internet Explorer 下有一子项 View Source Editor,其EditorName的默认值即指定 IE 默认的源代码编辑器。完整路径:HKEY_LO... 阅读全文

如何把 DropDownList 某一个 Item 的 Text 改成粗体 ?

2007-07-06 23:43 by 晓风残月, 1030 阅读, 收藏, 编辑
摘要: 这是昨天 CSDN 里面的一个帖子 http://community.csdn.net/Expert/TopicView3.asp?id=5637788今天发现竟然成为头条了。本以为,可以像设置字体颜色一样设置字形,结果大出意料,只有 FF 才可以呈现出预期的效果。 测试代码: ListItemStyle_FontWeight_Test ... 阅读全文

ASP.NET DEMO 5:如何在GridView的RowCommand事件中获取当前的GridViewRow

2007-07-05 01:12 by 晓风残月, 5374 阅读, 收藏, 编辑
摘要: 由于事件参数 GridViewCommandEventArgs 并不公开Row属性指示当前行,(DataGridCommandEventArgs 公开 Item 属性以获取当前 DataGridItem,不知 ASP.NET Team 是如何考虑这一设计的),因此需要一点“技巧”来获取此属性。 其实这是一个早就已知的问题,鉴于CSDN里面每每有人疑惑,这里稍微整理下,便于参考。 至少有三种方法可... 阅读全文

如何获取自增长列(标识列)的ID,并写入另一张表(多对多关系插入数据示例)

2007-07-05 00:02 by 晓风残月, 5373 阅读, 收藏, 编辑
摘要: 问题CSDN 里面不时有初学者疑惑:如何获取自增长列(标识列)的ID,并写入另一张表。场景这里选择典型的多对多关系,并以常见的 User-Role 作为 Demo,同时显示 Access 和 Sql Server 版本关系图实现要点1, 如何获取新插入记录生成的 ID:Sql Server 和 Access(当使用 Jet ADO,当然包括ADO.NET,连接时)均支持 @@Identity 全局... 阅读全文