大家对USBKey应该不陌生,USBKey是一种类似U盘的东西,里面存储着用户的私钥和数字证书等,实现用户和服务器之间的保密通信。
USBKey的构造
虽然USBKey看上去和U盘、MP3没什么差别,但是USBKey内部的结构是挺复杂的,它内置了CPU、存储器、芯片操作系统(COS)等。通过USBKey内置的密码算法实现对用户的验证。
市面上的USBKey有低端和高端两种,低端的USBKey主要用来存放密钥证书,只能提供3DES加密,存储器的容量比较小。高端的USBKey能提供RSA加密算法,存储容量比较大,可以同时存储几个私钥或者数字证书。
SQL Server数据类型
数据类型是数据的一种属性,是数据所表示信息的类型。任何一种语言都有它自己所固有的数据类型,SQL Server提供一下25种固有的数据类型。
SQL Server数据类型一览表
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
·Nchar[(n)]
·Nvarchar[(n)]
·Datetime
·Smalldatetime
·Decimal[(p[,s])]
·Numeric[(p[,s])]
·Float[(n)]
·Real
·Int
·Smallint
·Tinyint
·Money
·Smallmoney
·Bit
·Cursor
·Sysname
·Timestamp
·Uniqueidentifier
·Text
·Image
·Ntext
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
·Nchar[(n)]
·Nvarchar[(n)]
·Datetime
·Smalldatetime
·Decimal[(p[,s])]
·Numeric[(p[,s])]
·Float[(n)]
·Real
·Int
·Smallint
·Tinyint
·Money
·Smallmoney
·Bit
·Cursor
·Sysname
·Timestamp
·Uniqueidentifier
·Text
·Image
·Ntext
存储过程:将SQL Server表导到Excel中
【任务】:
将NorthWind数据库中的Products表中的全部数据导到E:\Media\JackieAillo.xls 中。
将NorthWind数据库中的Products表中的全部数据导到E:\Media\JackieAillo.xls 中。
【步骤】:
一、创建存储过程(p_export_to_excel):
1、判断p_export_to_excel存储过程是否已经存在,如果存在则将改存储过程删除,您可以在企业管理器中直接删除,也可以在查询分析其中执行下面的代码:
一、创建存储过程(p_export_to_excel):
1、判断p_export_to_excel存储过程是否已经存在,如果存在则将改存储过程删除,您可以在企业管理器中直接删除,也可以在查询分析其中执行下面的代码:
if exists (
select * from dbo.sysobjects
where id = object_id(N'[dbo].[p_export_to_excel]')
and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_export_to_excel]
go
存储过程(Stored Procedure)
存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。使用存储过程有以下几个优点:
1、执行速度比普通的SQL语句快
再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。 由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。
2、便于集中控制
当企业规则变化时,只需要在数据库的服务器中修改相应的存储过程,而不需要逐个的在应用程序中修改,应用程序保持不变即可,这样就省去了修改应用程序工作量。
3、可以降低网络的通信量
1、执行速度比普通的SQL语句快
再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。 由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。
2、便于集中控制
当企业规则变化时,只需要在数据库的服务器中修改相应的存储过程,而不需要逐个的在应用程序中修改,应用程序保持不变即可,这样就省去了修改应用程序工作量。
3、可以降低网络的通信量
C#中无法引用自己创建的类库中的类
【问题】:新建一个类库,其中默认有一个Class1类,自己再另外建了一个Aillo类,生成.dll后,在网站中添加该类库的引用。当在网站中只能访问到Class1类,而访问不到Aillo类。这两个类在同一个命名空间中;难道一个类库中只能有一个Class文件?错!如果类库中只能有一个类文件,那还能成为"库"吗?还不如不用类库!
【解决】:这个问题往往是由于粗心大意导致的!
1、检查 [Aillo] 类前面有没有加public。没有加访问修饰符(public、internal)的class默认是internal类型,只能在同一程序集(也就是同一工程)中才可以访问,在其他项目中不能被访问。
2、类中定义的方法也应该是public类型的,否则该方法也不能被该被调用。
【解决】:这个问题往往是由于粗心大意导致的!
1、检查 [Aillo] 类前面有没有加public。没有加访问修饰符(public、internal)的class默认是internal类型,只能在同一程序集(也就是同一工程)中才可以访问,在其他项目中不能被访问。
2、类中定义的方法也应该是public类型的,否则该方法也不能被该被调用。
MIME类型简介
MIME,多功能Internet 邮件扩充服务,是Multipurpose Internet Email Extension的简写,它最初只被用于电子邮件系统,目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。 后来MIME被应用于HTTP协议中,使得HTTP传输的不仅是普通的HTML文本,而且可以说多媒体数据类型。
MIME类型是用来指定采用某种扩展名的文件用哪一种应用程序来打开。当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。例如,.xls扩展名的文件用Excel来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
MIME类型大全:
MIME类型是用来指定采用某种扩展名的文件用哪一种应用程序来打开。当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。例如,.xls扩展名的文件用Excel来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
MIME类型大全:
将GridView中的数据导出到Excel / Word中
在C#程序设计时,我们很常用到GridView控件来显示数据,那我们怎样才能将excel中的数据导到Excel或者Word中呢?
前提条件:你的GridView已经能正常显示数据了,不管你是用代码实现的,还是直接绑定数据库实现的。
1、如果你的GridView启动了分页功能,则要先将该功能关闭,即将allowpaging的属性设为false, AllowPaging="false";然后重新调用databind()或者你自己定义的显示函数,确保所有的数据都显示在GridView中,再导完数据之后,记得把allowpaging的属性值改回来。
2、在页面中添加一个"导出"按钮,当点击该按钮时执行导出动作。双击改按钮,编写事件处理函数,添加代码如下:在用到StringWriter类的时候,要在。aspx.cs文件的头部添加命名空间:using System.IO;
前提条件:你的GridView已经能正常显示数据了,不管你是用代码实现的,还是直接绑定数据库实现的。
1、如果你的GridView启动了分页功能,则要先将该功能关闭,即将allowpaging的属性设为false, AllowPaging="false";然后重新调用databind()或者你自己定义的显示函数,确保所有的数据都显示在GridView中,再导完数据之后,记得把allowpaging的属性值改回来。
2、在页面中添加一个"导出"按钮,当点击该按钮时执行导出动作。双击改按钮,编写事件处理函数,添加代码如下:在用到StringWriter类的时候,要在。aspx.cs文件的头部添加命名空间:using System.IO;
利用PriFinitty控制程序的运行优先级
今天给大家推荐一款可以控制程序运行优先级的小软件:PriFinitty。大家可能用过任务管理器里面的一个功能,那就是给程序分配优先级,有实时、高、高于标准、标准、低于标准、低等6个选项来控制程序的优先级。
现在双核已经很普遍了,用四核的人也不少,但是任务管理器还不能把一个程序分配到第一个核上去运行,把另一个程序分配到另外一个核心上去运行,但是PriFinitty就可以。设置和任务管理器一样简单,也只是动动鼠标就可以。
只能在执行Render() 的过程中调用 RegisterForEventValidation;
在实现"将GridView中的数据导出到Excel中"的时候出现了如下错误:
用户代码未处理 InvalidOperationException
只能在执行 Render() 的过程中调用 RegisterForEventValidation;
EnableEventValidation属性是 .NET Framework 2.0 中是新增的属性,默认的情况下该属性的值为true;通过这个新增的功能ASP.NET会检查 POST方法中的所带的参数,如果认为不合法,就会抛出异常。这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据,但是有时也会出现类似上面的错误。
只能在执行 Render() 的过程中调用 RegisterForEventValidation;