技术探索
  • 使用SQL企业管理器创建数据表

    2013-05-24
    862
    MSSQL数据库
    先看看MSSQL中最常用的基本数据类型:int 整型varchar(n) 字符串,可以容纳n个英文字符或n/2个汉字nvarchar(n) 字符串,可以容纳n个英文字符或n个汉字bit bool值,固定值为0和1decimal(a,b) 小数,a表示总长度(整数部分+小数点+小数部分),b表示小数部分长度以上就是最常用的了,当然还有很它的类型,以后慢慢学习。----[dbo].[t_pd_category]----if(OBJECT_ID(N'[dbo].[t_pd_category]',N'U') is not null)drop table [dbo].[t_pd_category]gocreate table [dbo].[t_pd_category]([CategoryID] int identity(1,1) unique not null
  • C#生成图片验证码

    2013-05-24
    858
    C#语言
    本文介绍生成C#验证码的方法,可将本方法放在一个 ashx 文件里,并继承自 System.Web.SessionState.IRequiresSessionState 以保存 session 。using System;using System.Drawing;using System.Drawing.Drawing2D;#region Createprivate void Create(string code){if (code == null || code.Trim() == String.Empty) return;Bitmap image = new Bitmap((int)Math.Ceiling((code.Length * 11.5)), 21);Graphics g = Graphics.FromImage(image);try{Random random = new
  • C#获取计算机网卡的MAC地址

    2013-05-20
    810
    C#语言
    使用以下方法,可以获取到网卡的MAC地址。如果代码运行在Web上,则获取的是Web服务器的MAC;如果是客户端,则是本机的MAC地址。ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollection moc = mc.GetInstances();string str = string.Empty;foreach (ManagementObject mo in moc){if ((bool)mo["IPEnabled"] == true) { str = mo["MacAddress"].ToString(); break; }}//其中str即为mac地址。
  • .NET4.0新增的Task功能初试

    2013-05-18
    4084
    C#语言
    .NET4.0有一个新增的Task功能可以执行多线程操作,并按需返回指定类型的值。使用非常方便,比之前的线程池、回调等方法好用得多。本文简单介绍这一功能的使用,供初学者参考。引用命名空间using System.Threading.Tasks启动执行并返回结果值var a = Task<string>.Factory.StartNew(()=>{//这里是执行方法string a = "a";return a;};//或者以下也可以启动var a = Task.Factory.StartNew(()=>{return "a";};//等待执行完成,若非要等待所有方法全部执行完成后再进行后续操作,也可以省略Task.WaitAll(a);//获得返回值,上例中输出为 "a"。MessageBox.Show(a
  • 用C#计算文件的MD5值

    2013-05-15
    1014
    C#语言
    本文提供一种使用C#计算文件md5值的方法,经测试,处理一个超过1G的文件耗时不超过4秒,速度还是很不错的。 string filePath = "c:\a.jpg";using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)){MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();md5.ComputeHash(fs);fs.Close();byte[] b = md5.Hash;string md5Value = BitConverter.ToString(b).Replace("-", string.Empty);}其中md5Valu
  • 遍历枚举中的所有成员,并按键值对加入IDictionary

    2013-05-14
    1963
    C#语言
    本文介绍如何遍历枚举中的所有成员,并提供枚举名称、枚举值以及枚举名称的字符串形式间的互相转化方法。有如下枚举类型:public enum EnumBookType : byte{Unknown,Science,History}IDictionary〈string, byte〉 booktype = new Dictionary〈string, byte〉();string[] t = Enum.GetNames(typeof(EnumBookType));foreach(string f in t){byte d = (byte)Enum.Parse(typeof(EnumBookType), f);booktype.Add(f, d);}如果要获取字符串“Science”的枚举值,则可以用 (byte)Enum.Parse(typeof(EnumBookType), "Scie
  • 利用cmd.exe命令清除本机ie浏览器特殊内容

    2013-05-07
    1763
    C#语言
    有时候我们可能需要在自己的程序中清除本机IE浏览器保存的一些特殊内容,由于其“特殊性”,所以用一般的方法可能并不理想。下面这个方法可以真正完成这一操作,经测试,唯一发现的问题是一些杀毒软件可能会报错,但任务仍可顺利完成(如卡巴斯基)。#region ClearSpecialContentOfIE////// 清除IE浏览器保存的特殊内容。////// 1:历史记录,2:Cookies,8:Internet临时文件,16:表单数据,32:密码,255:全部删除,4351:全部删除(含设置)public static void ClearSpecialContentOfIE(int flag){string cmd = string.Format("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess {0}", flag.ToSt
  • SQL Server中char、nchar、varchar、nvarchar的区别

    2013-05-05
    1528
    MSSQL数据库
    对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。1.定长或变长所谓定长就是长度固定,当要保存的数据长度不够时将自动在其后面填充英文空格,使长度达到相应的长度;有var前缀的,表示是实际存储空间是动态变化的,比如varchar,nvarchar变长字符数据则不会以空格填充。2.Unicode或非Unicode数据库中,英文字符只需要一个字节存储就足够了,但汉字和其他众多非英文字符,则需要两个字节存储。如果英文与汉字同时存在,由于占用空间数不同,容易造成混乱,导致读取出来的字符串是乱码。Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。而前缀n就表示Unicode字符,比如nchar,nvarcha