跟小D每日学口语

05 2011 档案

摘要:2.1取得数据库中所有表名样例数据:语句:select t.name '表名' from sysobjects t where OBJECTPROPERTY(t.id,N'IsUserTable') = 1或者用select name from sysobjects where type='U'执行结果:2.2 取得所有表中的所有字段名语句:select distinct c.name '字段名' from sysobjectst, syscolumns cwhere t.id = c.idand OBJECTPROPERTY(t 阅读全文
posted @ 2011-05-29 13:27 Danny Chen 阅读(686) 评论(0) 推荐(0) 编辑
摘要:上传文件的时候要判断上传文件的类型是否符合需求,通过JavaScript获取上传文件后缀名。演示如下: 源码如下: <inputsize=30type="file"name="pic"onchange="check_type(this)"/><scriptlanguage="javascript">functioncheck_type(obj){varstr=$(obj).val();varindex=str.lastIndexOf('.');varstrtype=str.s 阅读全文
posted @ 2011-05-27 16:25 Danny Chen 阅读(4952) 评论(0) 推荐(0) 编辑
摘要:enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常数组成的独特类型。每种枚举类型都有基础类型,该类型可以是除char 以外的任何整型。即:(byte, sbyte, short, ushort, int, uint, long和ulong)Emumeration 这个概念早在C时代就有了,不过以前没怎么用过。基本表达, 改变默认值和默认类型Enumeration的默认值是从0开始的int,如下:enum Direction{ UP, RIGHT DOWN, LEFT,};此时UP=0, DOWN=1...依此类推改变默认值:enum Direction{ UP=1, RIGHT= 阅读全文
posted @ 2011-05-27 14:47 Danny Chen 阅读(478) 评论(0) 推荐(0) 编辑
摘要:String是一个类,string是一种数据类型. string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色)c# string映射为.net Framework的String如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作如果使用c#,建议使用string,比较符合规范 string始终代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、 阅读全文
posted @ 2011-05-24 09:22 Danny Chen 阅读(161) 评论(0) 推荐(0) 编辑
摘要:百万数据查询优化技巧三十则1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 阅读全文
posted @ 2011-05-24 09:21 Danny Chen 阅读(237) 评论(0) 推荐(0) 编辑
摘要:在.net中,可以使用String.PadLeft函数右对齐字符串,在左边用指定的Unicode字符填充一达到指定的总长度。例如 在做自动编号这样使用 int nextID=da.GetMaxNum()+1; this.txtCode.Text = nextID.ToString().PadLeft(6, '0');今天客户想要在用户表里加个工号字段,这个字段是自动生成的,这个很容易实现。但是用户表里已经有300多条记录,需要编号,手工录入显然太麻烦,实施人员也会感觉枯燥乏味,我就想在数据库里有写段脚本自动编号,发现数据里没提供类似于右对齐的函数。于是左查右看,就写了这么个自定 阅读全文
posted @ 2011-05-23 10:40 Danny Chen 阅读(8789) 评论(1) 推荐(1) 编辑
摘要:AspNet为我们提供了很多的控件,尽管如此,很多时候我们还是会感觉这些控件不够用,想根据自己的需求去定制一些控件,比如想在DropDownList控件中实现可以输入,AspNet并没有为我们提供这样的控件,这时就需要我们去编写自定义控件来满足需要。 本系列文章打算对AspNet控件开发做个入门级介绍,如果想了解更详细和深入可以参考《深入解析ASP.NET 2.0控件开发》和《纵向切入ASP.NET 3.5控件和组件开发技术》这两本书。言归正传,通常我们开发自定义控件会创建一个类库项目,编写完代码后编译会生成一个dll文件,这个dll文件就是我们自己开发的控件了。假设现在已经有一个名为Hell 阅读全文
posted @ 2011-05-22 18:18 Danny Chen 阅读(227) 评论(0) 推荐(0) 编辑
摘要:例如:http://www.baidu.com/view.aspx?id=1 和http://www.baidu.com/view-1.aspx 访问的页面相同;只需要全局应用程序类的Application_BeginRequest中添加如下代码:protectedvoidApplication_BeginRequest(objectsender,EventArgse){//使用正则表达式判断格式;View-12.aspxRegexreg=newRegex(@".+View-(\d+).aspx");//获取请求的路径进行匹配varmatch=reg.Match(Reque 阅读全文
posted @ 2011-05-22 13:14 Danny Chen 阅读(152) 评论(0) 推荐(0) 编辑
摘要://获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)// 阅读全文
posted @ 2011-05-22 13:12 Danny Chen 阅读(192) 评论(0) 推荐(0) 编辑
摘要:我一直自认为,自己在编程功力还算说的过去,昨天一个老师看了我以前写的代码,说功力还需加强(当时我很郁闷,其实我知道的可能还比他多)。很多时候我们都太注重高水平、尖端的技术,其实很多公司叫你写一段简单的程序,可能就会决定要不要你。他们是从代码中看出了你的阅历,你的水平。这些水平不是体现你的尖端技术(况且很多新技术都是可以学的),而是你的风格,或习惯,而这些恰恰是经过很长的阅历积累起来的。下面是从网上收集的c#编程风格参考,希望对读者有用。【参考】《.NET设计规范》Krzysztof Cwalina,Brad Abrams著C#编程世界中存在许多不同的编程风格约定,每一种都有自己的历史和哲学。本 阅读全文
posted @ 2011-05-22 11:48 Danny Chen 阅读(245) 评论(0) 推荐(0) 编辑
摘要:1. TOP 表达式SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了。--前n名的订单declare@nintset@n=10selectTOP(@n)*fromOrders2. 分页不知各位过去用SQL Server 2000是怎么分页的,大多都用到了临时表。SQL Server 2005一句话就支持分页,性能据说也非常不错。select*from(selectOrderId,Freight,ROW_NUMBER()OVER(orderbyFreight)asrowfromOrders)awhererowbetween20and303. 排名select*from 阅读全文
posted @ 2011-05-21 19:51 Danny Chen 阅读(134) 评论(0) 推荐(0) 编辑
摘要:View Code 1 try 2 { 3 VQP.Common.FZip fileZip = new VQP.Common.FZip(); 4 fileZip.FileNamesToZIP = new List<string>(); 5 fileZip.FileNamesToZIP.Add(@"C:\test.txt"); 6 fileZip.FileNameZipped = @"C:\test.zip"; 7 fileZip.ZipFiles(); 8 } 9 catch (Exception ex)10 {11 lblMessage.T 阅读全文
posted @ 2011-05-20 15:32 Danny Chen 阅读(595) 评论(0) 推荐(0) 编辑
摘要:1. Get(即使用QueryString显式传递) 方式:在url后面跟参数。 特点:简单、方便。 缺点:字符串长度最长为255个字符;数据泄漏在url中。 适用数据:简单、少量、关键的数据。 适用范围:传递给自己、传递给另一个目标页面;常用于2个页面间传递数据。 用法:例如:url后加?UserID=…,跳转到目标页面,目标页面在伺服端可用Request.QueryString["InputText"]获取其指定参数值。http://www.itokit.com2. Post 方式:通用的方式。利用form提交。 特点:最常用的方法。常用技巧是把隐秘的数据存在隐藏域中由 阅读全文
posted @ 2011-05-20 14:23 Danny Chen 阅读(331) 评论(0) 推荐(0) 编辑
摘要:.net2.0,虽然也有一个解压缩的类,但是好像并不怎么受欢迎。不过我们还可以选择别SharpZipLib。我从网上找了一些代码,有些做了修改,已经测试可以使用。解压缩操作类:using System; using System.Collections.Generic; using System.Web.UI.WebControls; using System.Web; using System.Text; using System.IO; using ICSharpCode.SharpZipLib.Zip; using ICSharpCode.SharpZipLib.Checksums; n 阅读全文
posted @ 2011-05-19 22:41 Danny Chen 阅读(1019) 评论(0) 推荐(0) 编辑
摘要:最近工作中写了几个存储过程,需要向存储过程中传递字符串,因为SQL Server 2000中没有内置类似于 split 的函数,只好自己处理,将前台数据集中的一列用逗号拆分存到一个List<string>中,再转化为字符串传给存储过程,很是麻烦。今天看了下SQL Server 2008的新特性,发现有表变量的使用,及其将DataTable作为参数的用法,就尝试了一下,简单谈谈心得。示例代码下载一、测试环境1、Windows Server 2008 R2 DataCenter2、Visual Studio 2008Team SystemWith SP13、SQL Server 200 阅读全文
posted @ 2011-05-19 10:02 Danny Chen 阅读(3265) 评论(0) 推荐(0) 编辑
摘要:I've been looking for help on how to find objects in Generics with List.Find() method .... and ... take a look what I have found. In the follow example, I created a simple class:public class Person { private int _id; private string _name; public int ID { get{ return _id;} set{ _id = value;}} pub 阅读全文
posted @ 2011-05-18 18:33 Danny Chen 阅读(16023) 评论(0) 推荐(0) 编辑
摘要:HTML code<%@ Page Language="C#" AutoEventWireup="true" CodeFile="list2.aspx.cs" Inherits="Datalist_list2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 阅读全文
posted @ 2011-05-18 18:30 Danny Chen 阅读(657) 评论(0) 推荐(0) 编辑
摘要:<script language="javascript" type="text/javascript"> //去掉字串左边的空格 function lTrim(str) { if (str.charAt(0) == " ") { //如果字串左边第一个字符为空格 str = str.slice(1); //将空格从字串中去掉 //这一句也可改成 str = str.substring(1, str.length); str = lTrim(str); //递归调用 } return str; } //去掉字串右边的空格 阅读全文
posted @ 2011-05-18 10:40 Danny Chen 阅读(260) 评论(0) 推荐(0) 编辑
摘要:ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达HttpHandler,HttpHandler处理完之后,仍经过Pipeline中各个HttpModule的处理,最后将HTML发送到客户端浏览器中。生命周期中涉及到几个非常重要的对象:HttpHandler,HttpModule,IHttpHandlerFactory,他们的执行顺序大致的执行过程是这样的:client端发送页面请求,被IIS的某个进程截获,它根据申请的页面后缀(.aspx)不同,调用不同的页面处理程序(.asp->asp.dll; .asp 阅读全文
posted @ 2011-05-15 23:07 Danny Chen 阅读(210) 评论(0) 推荐(0) 编辑
摘要:有关于URL的重写,本文也只是拿来主意。相继有MS的组件“URLRewriter”和在Global.asax里的“Application_BeginRequest()”编码方式,以及IIS里的ISAPI设置。娜列下来,实现方法也都很简单。方法一:MS组件这里也不用详解了,相关请看:http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx用法很简单,只需要把组件URLRewriter.dll拷到应用程序的bin目录下,然后在web.config下加入如下代码:在<configurati 阅读全文
posted @ 2011-05-15 22:52 Danny Chen 阅读(195) 评论(0) 推荐(0) 编辑
摘要:publicclassHelloWorldModule:IHttpModule{publicHelloWorldModule(){}publicStringModuleName{get{return"HelloWorldModule";}}//IntheInitfunction,registerforHttpApplication//eventsbyaddingyourhandlers.publicvoidInit(HttpApplicationapplication){application.BeginRequest+=(newEventHandler(this.Appl 阅读全文
posted @ 2011-05-15 09:14 Danny Chen 阅读(291) 评论(0) 推荐(0) 编辑
摘要:最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。一、什么是闭包?“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包,因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。看下面这段代码:function a(){var 阅读全文
posted @ 2011-05-15 08:53 Danny Chen 阅读(188) 评论(0) 推荐(0) 编辑
摘要:<%@ Page Language="C#" MasterPageFile="~/VQPMaster.master" AutoEventWireup="true" CodeFile="importQuotation.aspx.cs" Inherits="ImportExcel_importQuotation" Title="Untitled Page" %><asp:Content ID="Content1" ContentPlaceHo 阅读全文
posted @ 2011-05-12 16:49 Danny Chen 阅读(317) 评论(0) 推荐(0) 编辑
摘要:TextBox:var str = $('#txt').val();$('#txt').val("Set Lbl Value");//文本框,文本区域:$("#text_id").attr("value",'');//清空内容 $("#text_id").attr("value",'test');//填充内容 LABLE:var str = $('#lbl').text();$('#lbl').tex 阅读全文
posted @ 2011-05-12 14:25 Danny Chen 阅读(253) 评论(0) 推荐(0) 编辑
摘要:近期做的一个网站需要一个无限级下拉列表的无限级分级功能,于是就有了下面的小作品。开始以为无限级下拉列表功能应该很简单,无非就是用一个递归算法就好啦,但是在做起来的时候却会遇到一些比较模糊的东西。在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。1。无限级分类肯定要数据库支持啦,用户可以动态添加他们的分类嘛,下面是数据库的结构:数据库主要有三个字段,这是最基本的了。第一个是主键,第二个是分类的名称了,第三个是父级目录id号。2。成品的效果图:(大家最关心的是不是这个啊?看看是什么样子再看程序怎么吧)看!!就长这个模样啦,这个层 阅读全文
posted @ 2011-05-10 21:35 Danny Chen 阅读(459) 评论(0) 推荐(0) 编辑
摘要:ASP.net后台获取当前页面的文件名 System.IO.Path.GetFileName(Request.Path).ToString();获取当前页面文件名,参数,域名等方法假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli"http://"是协议名"www.test.com"是域名"aaa"是虚拟目录名"bbb.aspx"是页面名(文件名)"id=5&name=kelli"是参数【1】获取 完整url ( 阅读全文
posted @ 2011-05-09 10:49 Danny Chen 阅读(755) 评论(0) 推荐(0) 编辑
摘要:using System;using System.Collections.Generic;using System.Text;using System.DirectoryServices;namespace VQP.BLL{ public class LdapAuthentication { private string _path; private string _filterAttribute = string.Empty; public LdapAuthentication() { // // TODO: Add constructor logic here // } /// < 阅读全文
posted @ 2011-05-09 09:42 Danny Chen 阅读(345) 评论(0) 推荐(0) 编辑
摘要:最近研究设计模式,在学习Terrylee老师的AbstractFactory的时候用到了反射,顺便也研究了一下C#的反射机制。收集了网上的一些资料和我个人的理解,供大家学习在C#中,我们要使用反射,首先要搞清楚以下命名空间中几个类的关系:System.Reflection命名空间(1)AppDomain:应用程序域,可以将其理解为一组程序集的逻辑容器(2)Assembly:程序集类(3)Module:模块类(4)Type:使用反射得到类型信息的最核心的类他们之间是一种从属关系,也就是说,一个AppDomain可以包含N个Assembly,一个Assembly可以包含N个Module,而一个Mo 阅读全文
posted @ 2011-05-06 18:31 Danny Chen 阅读(1164) 评论(1) 推荐(1) 编辑
摘要:昨天同事問我 SQL Server 有沒有像 .NET Framework 裡的String.PadLeft、String.PadRight方法,找了一下並沒有對等的內建函數,不過有一個類似的Replicate字串函數,就用它來實現 SQL Server 中的字串填補功能。寫法不難,新增一個純量函數,傳入三個參數:原始字串 - @Source、填補字元 - @PaddingChar、回傳字串總長度 - @TotalWidth,請看以下程式碼:CREATEFUNCTION[dbo].[PadLeft](@Source nvarchar(30),-- 原始字串@PaddingCharnchar(1 阅读全文
posted @ 2011-05-05 16:36 Danny Chen 阅读(1638) 评论(0) 推荐(0) 编辑
摘要:http://database.51cto.com2010-09-08 17:35 佚名 互联网 我要评论(0)摘要:在SQL数据库中,必须使用表变量来代替临时表吗?插入到表中的行数、从中保存查询的重新编译的次数、以及查询类型及其对性能的指数和统计信息的依赖性这三个因素将是决定其是否成立的重要因素。标签:SQL表变量在SQL数据库中,必须使用表变量来代替临时表吗?答案取决于三个因素:插入到表中的行数、从中保存查询的重新编译的次数、以及查询类型及其对性能的指数和统计信息的依赖性。在某些情况下,可将一个具有临时表的存储过程拆分为多个较小的存储过程,以便在较小的单元上进行重新编译。通常情况下,应尽量 阅读全文
posted @ 2011-05-05 16:34 Danny Chen 阅读(1101) 评论(0) 推荐(0) 编辑
摘要:C#记忆功能的地址栏控件描述C#调用外部进程C#语言操纵数据库事务概述C#语言异常处理简单介绍C#数组和函数LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。TrimTrim(string)将字符串前后的空格去掉LtrimLtrim(string)将字符串前面的空格去掉RtrimRtrim(string)将字符串后面的空格去掉MidMid(string,start,length)从string字符串的start字符开始取得length长度的字符串,如果省略第三个参数表示从start字符开始到字符串结尾的字符串LeftLeft(string,leng 阅读全文
posted @ 2011-05-05 16:33 Danny Chen 阅读(902) 评论(0) 推荐(0) 编辑
摘要:正确理解session和cookie机制,对java web开发程序员来讲是非常重要的。本文从原理上解释session和cookie的区别于联系。 具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力. 而session机制采用的是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的。而session提供了方便管理全局 阅读全文
posted @ 2011-05-04 15:30 Danny Chen 阅读(221) 评论(0) 推荐(0) 编辑
摘要:Session天天用,但是你真的理解了么?今天遇到了这个问题,于是研究了一下。要解决这个问题,首先就要明白一些Session的机理。Session在服务器是以散列表形式存在的,我们都知道Session是会话级的,每个用户访问都会生成一个Session。那么服务器是怎么区分不同用户的Session?又是怎么将不同用户的Session与不同的用户绑定的呢?下面我们来研究一下,以下纯属我个人的理解,如有错误请指证。Session在服务器端是以散列表的形式存在的,区分每一个Session是通过SessionID来实现的,所以可以说这个SessionID是一个Key是一个全局唯一的值。我们可以通过ASP 阅读全文
posted @ 2011-05-04 15:07 Danny Chen 阅读(189) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示