今天给一个联想的Thinkpad(无内置光驱)安装系统时,出现No CD-ROM drive to use:GCDROM not loaded!

没有关盘驱动可以使用的,主要原因是没有这个光盘的驱动,下面是我成功的解决方案:

用带windows-PE的ghost盘安装,先BOIS里设置光驱启动,之后运行windows PE,桌面上有“全自动恢复光盘GHO镜像到C盘”,点击即可完成ghost。

网上还有另一种解决方案,不过上面的方法不好用,也可以参考一下

如果是是用SATA硬盘和SATA光驱,开机Del进主板BIOS,在BIOS中SATA Mode设置为Compatibility(兼容模式)或者为IDE Mode。
 

这里列举了数据库常用的存储过程的命令,详细的请参考官方文档

一.注释
— 单行注释,从这到本行结束为注释,类似C++,c#中//
/* … */ 多行注释,类似C++,C#中/* … */

二.变量(int, smallint, tinyint, decimal,float,real, money ,smallmoney, text ,image, char,varchar…)
语法:
DECLARE
{
{@local_variable data_type}
} [,…n]
例如:
declare @ID int –申明一个名为@ID的变量,类型为int型

三.在SQL Server窗口中打印出变量的值

语法:
PRINT ‘any ASCII text’ | @local_variable | @@FUNCTION | string_expr

四.变量赋值

例如:–从数据表中取出第一行数据的ID,赋值给变量@id,然后打印出来
Declare @ID int
Set @ID = (select top(1) categoryID from categories)
Print @ID

在SQL中,我们不能像代码那样直接给变量赋值,例如@id = 1,如果要达到这样的功能,可以这样写:

Declare @ID int
Set @ID = (select 1) — 类似 @ID=1
Select @id=1 — 类似 @ID=1
Print @ID

五.变量运算(+,-,*,/,……)

以下必要时候省略变量申明
Set @ID = (select 1+5) –类似 @ID=1+5
Set @ID=(select 1-@ID) –类似 @ID=1-@ID

六.比较操作符
• > (greater than).
• < (less than).
• = (equals).
• <= (less than or equal to).
• >= (greater than or equal to).
• != (not equal to).
• <> (not equal to).
• ! < (not less than).
• !> (not greater than).

七.语句块:Begin … end
将多条语句作为一个块,类似与C++,C#中的{ }
例如:
Begin
Set @ID1 = (select 1)
Set @ID2 = (select 2)
End

八.If, if…else…
语法:
IF Boolean_expression
{sql_statement | statement_block}
[ELSE
{sql_statement | statement_block}]
例如:

If @id is not null
Print ‘@id is not null
if @ID = 1
begin
Set @ID = (select 1 + 1)
end
else
begin
set @ID=(select 1+2)
end

上面的例子用到了比较操作符,语句块,和IF的语法。

九.执行其他存储过程 EXEC
例如

EXEC dbo.[Sales by Year] @Beginning_Date=’1/01/90’, @Ending_Date=’1/01/08’

十.事务

语法:

BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable]

例如

BEGIN TRAN
— 做某些操作,例如Insert into …
if @@error <> 0
BEGIN
ROLLBACK TRAN
END
else
BEGIN
COMMIT TRAN
END

十一.游标

我们可以在存储过程中用Select语句取出每一行数据进行操作,这就需要用到游标。

语法:
DECLARE cursor_name CURSOR
[LOCAL | GLOBAL]
[FORWARD_ONLY | SCROLL]
[STATIC | KEYSET | DYNAMIC | FAST_FORWARD]
[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
[TYPE_WARNING]
FOR select_statement

[FOR UPDATE [OF column_name [,…n]]]

例如:

DECLARE @au_id varchar(11), @au_fname varchar(20) –申明变量
–申明一个游标
DECLARE authors_cursor CURSOR FOR
SELECT au_id, au_fname FROM authors
–打开游标
OPEN authors_cursor
–取出值
FETCH NEXT FROM authors_cursor INTO @au_id, @au_fname
–循环取出游标的值
WHILE @@FETCH_STATUS = 0
BEGIN
Print @au_id
Print @au_fname
Print ‘ ’
FETCH NEXT FROM authors_cursor
INTO @au_id, @au_fname
END
CLOSE authors_cursor –关闭游标
DEALLOCATE authors_cursor –释放游标

现在一般网站打开新窗口采用的是target="_blank",这在过渡型DOCTYPE(xh tml1-transitional. dtd)下是允许的,但也不符合W3C的strict(xhtml1-strict.dtd)标准。

如果你去验证,会发现有下面的错误提示:

"there is no attribute target for this element(in this HTML version)"

这是因为W3C认为如果不经过用户同意,没有明确提示就打开一个新窗口是不礼貌的。所以我们只好用下面的rel属性来解决这个问题。rel是HTML4.0新增加的一个属性,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、previous,、chapter、section等等。

我们用rel属性的external和一个js脚本来解决问题,代码如下:

 <a href=”http://ourys.com“ rel="external"> 打开一个新窗口</a>

我们把js文件存储为external.js,然后通过<script type="text/javascript" src="external.js"></script>调用

下面是js文件

function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externallinks;

今天在安装一个asp.net应用程序时候,出现下面的提示:

System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。

这个问题的原因是缺少程序集.
解决办法:
1,如果你的程序运行在你能控制的服务器上,那么安装asp.net ajax就行了,这是System.Web.Extensions等dll做为GAC部署;
2,如果你的程序运行在虚拟主机上(无权安装程序),那么需要把System.Web.Extensions.dll和System.Web.Extensions.Design.dll
(通常在C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025目录下)2个dll复制到你的web程序的bin目录下就行了,这是应用程序级别的部署。

同时注意要检查web.config中的代码
<assemblies>
<add assembly=&quot;System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;/>
</assemblies>

<controls>
<add tagPrefix=&quot;atlas&quot; namespace=&quot;System.Web.UI&quot; assembly=&quot;System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/>
</controls>

搞定之后,问题解决

今天在写ajax的时候突发奇想,想把请求发送到另外一台电脑上,另外一台电脑上处理我的请求操作我电脑上面的数据库,把得到的信息通过另一台电脑上发送给我的电脑。然后遇到了登录远程SQL服务器的问题,出现了不能打开到主机的连接,在端口 1433:连接失败的问题,现在将折腾了一下午的方法给大家分享一下。
一 看ping 服务器IP能否ping通。

  这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。

  二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。

  如telnet 202.114.100.100 1433

  通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。

  如果这一步有问题,应该检查以下选项。

  1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。而且sql server 2000至少要打上sp3补丁,我打了sp4补丁就把问题解决了。大家可以在服务器端启动查询分析器,输入 select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。

  2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。

  3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。

  事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。

  4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。

  5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入

  netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 1433 listening 的项。  如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。

  三 检查客户端设置

  程序->Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。

  四 在企业管理器里或查询那分析器连接测试

  企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成

  查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定

  通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。

  修改默认连接超时的方法:

  企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在 登录超时(秒) 后面的框里输入一个较大的数字

  查询分析器->工具->选项->连接->在 登录超时(秒) 后面的框里输入一个较大的数字

  通常就可以连通了,如果提示错误,则进入下一步。

  五 错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:

  1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。

  2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。

  3 在"身份验证"下,选择"SQL Server和 Windows "。

  4 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务,net start mssqlserver启动服务,也是一种快捷的方法)。

  附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议。
 

注意:在FF里面需要将open方法放在setRequestHeader之前

一、为何要用到setRequestHeader
通常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTTP协议的头文件,告诉服务器客户端要下载什么信息以及相关的参数。而 XMLHTTP 就是通过HTTP协议取得网站上的文件数据的,所以也要发送HTTP头给服务器。 但是 XMLHTTP 默认的情况下有些参数可能没有说明在HTTP头里,这是当我们需要修改或添加这些参数时就用到了
setRequestHeader 方法。

二、setRequestHeader参数详解
使用GET下列参数 XMLObject.setRequestHeader ("CONTENT-TYPE", "application/x-www-form-urlencoded" )
代表的意义:

GET /bb.asp?www=1234 HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
CONTENT-TYPE:application/x-www-form-urlencoded
Host:ourys.com
Connection: close
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

 

注:
1、CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式 是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示

2、当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data
至于:Content-length 就是表示提交的数据字节大小
http有几种提交方式,其中比较常用的就是 GET 和 POST

3、这个标志就放在HTTP头开头的地方,这样讲容易理解点
GET 方式是没有提交内容的,所以 Content-length 在 GET 模式下是无效的.
GET 传参数的方式就是通过虚拟地址传送,如:
GET /bb.asp?www=1234 HTTP/1.1
参数全部就只有 "www=1234" 这么多

4、如果用POST的话就有些不同,POST是将参数放到HTTP后面的,就以上面的HTTP作范例,用POST的方法传参数

POST /bb.asp HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
CONTENT-TYPE:application/x-www-form-urlencoded
Host: ourys.com
Content-length: 8
Connection: close
Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

www=1234

这时,数据就需要说明字节大小了

至于 Connection: Close,很明显英文的意思是 连接:关闭
只是客户端在提交数据时告诉服务器让谁先关闭连接而已。

三、PS:
setRequestHeader方法只是XMLHTTP为添加或修改HTTP头提供的一个接口方法而已,
至于里面的值则是HTTP协议的含义,当然也可以发自己的东西进去,即使IIS不能识别你的信息也不会报错
如:
setRequestHeader ("MyName", "Supermanking" )

虽然IIS不会报错,但这个信息也可以有用,可以在ASP程序里读取HTTP头信息分析是否有
MyName: Supermanking
信息,可根据你的需求来做处理
 

当我们在vs中创建一个一般处理程序Handler.ashx文件时,我们可以在文件中看到这一句

public void ProcessRequest (HttpContext context)

HttpContext 类是.NET Framework 类库中很重要的一个类。它封装有关个别 HTTP 请求的所有 HTTP 特定的信息。

HttpContext的命名空间:System.Web
HttpContext的程序集:System.Web(在 system.web.dll 中)

为继承 IHttpModule 和 IHttpHandler 接口的类提供了对当前 HTTP 请求的 HttpContext 对象的引用。该对象提供对请求的内部 Request、Response 和 Server 属性的访问。

例如:我们可以这样用Response

context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");

HttpContext 成员

  名称 说明
Public method HttpContext 已重载。初始化 HttpContext 类的新实例。

页首

  名称 说明
Public property AllErrors 获取在处理 HTTP 请求的过程中累积的错误数组。
Public property Application 为当前 HTTP 请求获取 HttpApplicationState 对象。
Public property ApplicationInstance 为当前 HTTP 请求获取或设置 HttpApplication 对象。
Public property Cache 为当前 HTTP 请求获取 Cache 对象。
Public property Static Current 为当前 HTTP 请求获取 HttpContext 对象。
Public property CurrentHandler 获取表示当前正在执行的处理程序的 IHttpHandler 对象。
Public property Error 获取在处理 HTTP 请求的过程中累积的第一个错误(如果有)。
Public property Handler 获取或设置负责处理 HTTP 请求的 IHttpHandler 对象。
Public property IsCustomErrorEnabled 获取一个值,该值指示是否已为当前 HTTP 请求启用自定义错误。
Public property IsDebuggingEnabled 获取一个值,该值指示当前 HTTP 请求是否处于调试模式。
Public property Items 获取可用于在 HTTP 请求过程中在 IHttpModule 接口和IHttpHandler 接口之间组织和共享数据的键/值集合。
Public property PreviousHandler 获取父处理程序的 IHttpHandler 对象。
Public property Profile 获取当前用户配置文件的 ProfileBase 对象。
Public property Request 为当前 HTTP 请求获取 HttpRequest 对象。
Public property Response 为当前 HTTP 响应获取 HttpResponse 对象。
Public property Server 获取提供用于处理 Web 请求的方法的HttpServerUtility 对象。
Public property Session 为当前 HTTP 请求获取 HttpSessionState 对象。
Public property SkipAuthorization 获取或设置一个值,该值指定 UrlAuthorizationModule对象是否应跳过对当前请求的授权检查。
Public property Timestamp 获取当前 HTTP 请求的初始时间戳。
Public property Trace 为当前 HTTP 响应获取 TraceContext 对象。
Public property User 为当前 HTTP 请求获取或设置安全信息。

 公共方法

(请参见 受保护的方法 

  名称 说明
Public method AddError 将异常添加到当前 HTTP 请求的异常集合中。
Public method ClearError 清除当前 HTTP 请求的所有错误。
Public method Equals  已重载。 确定两个 Object 实例是否相等。 (从Object 继承。)
Public method Static GetAppConfig 为当前应用程序返回请求的配置信息。
Public method GetConfig 为当前 HTTP 请求返回所请求的配置信息。
Public method Static GetGlobalResourceObject 已重载。 获取应用程序级别资源。
Public method GetHashCode  用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)
Public method Static GetLocalResourceObject 已重载。 获取页级别资源。
Public method GetSection 获取当前应用程序的默认配置的指定配置节。
Public method GetType  获取当前实例的 Type。 (从 Object 继承。)
Public method Static ReferenceEquals  确定指定的 Object 实例是否是相同的实例。 (从Object 继承。)
Public method RewritePath 已重载。 指定内部重写路径,并允许请求的 URL 与资源的内部路径不同。RewritePath 用在无 Cookie 会话状态中。
Public method ToString  返回表示当前 Object  String。 (从 Object 继承。)

页首

  名称 说明
Protected method Finalize  允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
Protected method MemberwiseClone  创建当前 Object 的浅表副本。 (从 Object 继承。)

页首

  名称 说明
Explicit interface implementation Method System.IServiceProvider.GetService 返回当前服务类型的对象。

 

补充:

1.生存周期:从客户端用户点击并产生了一个向服务器发送请求开始—服务器处理完请求并生成返回到客户端为止.
       注:针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例.
 2.为什么会有HttpContext类呢:在ASP年代,大家都是通过在.asp页面的代码中使用Request,Respose,Server等等这些Http特定信息的.但在ASP.NET时代,这中方式已经无法满足应用,(比如我们要在IHttpModule中处理Request时,我们使用什么方法来获取呢?于是就产生了HttpContext类,它对Request,Respose,Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用.)
 3.特殊性:当然HttpContext不仅仅只有这点功能.ASP.NET中它还提供了很多特殊的功能.例如Cache.还有HttpContext.Item,通过它你可以在HttpContext的生存周期内提前存储一些临时的数据,方便随时使用.具体的大家还是参考上面的MSDN提供内容.

C#中所有的类型都是一个类,下面是一些常用的类型的类名和对应的类型:

类名 System中相对应的类型
bool System.Boolean (布尔型,其值为 true 或者 false)
char System.Char (字符型,占有两个字节,表示 1 个 Unicode 字符)
byte System.Byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ~ 255)
sbyte System.SByte (带符号字节型,占 1 字节,表示 8 位整数,范围 -128 ~ 127)
ushort System.UInt16 (无符号短整型,占 2 字节,表示 16 位正整数,范围 0 ~ 65,535)
uint System.UInt32 (无符号整型,占 4 字节,表示 32 位正整数,范围 0 ~ 4,294,967,295)
ulong System.UInt64 (无符号长整型,占 8 字节,表示 64 位正整数,范围 0 ~ 大约 10 的 20 次方)
short System.Int16 (短整型,占 2 字节,表示 16 位整数,范围 -32,768 ~ 32,767)
int System.Int32 (整型,占 4 字节,表示 32 位整数,范围 -2,147,483,648 到 2,147,483,647)
long System.Int64 (长整型,占 8 字节,表示 64 位整数,范围大约 -(10 的 19) 次方到 10 的 19 次方)
float System.Single (单精度浮点型,占 4 个字节)
double System.Double (双精度浮点型,占 8 个字节)

1、其他类型转为字符串

bool、byte、char等只需要在变量后面加上ToString(),即type.ToString()

2、强制转换

在变量前面加上类型,例如:

short g = 1;
byte h = (byte) g; // 将 short 型的 g 的值强制转换成byte型后再赋给变量 h

注意:不同类型表示的范围不同,注意转化时候的溢出。

3、int和string的互换(字符串转化为整数:int.Parse(string) )

float f = 12.3f;

string str = "258";

this.textBox1.Text = "";

this.textBox1.AppendText("f = " + f.ToString() + ""n");//float->string

if (int.Parse(str) == 258)   this.textBox1.AppendText("str convert to int successfully.");

else  this.textBox1.AppendText("str convert to int failed.");

4、String和char[]的互换(str.ToCharArray()和string sname = new String(name))

string str = "quzhixun";

char[] chars = str.ToCharArray();//string->char[]

this.textBox1.Text = "";

this.textBox1.AppendText("Length of ""quzhixun"" is " + str.Length + ""n");

this.textBox1.AppendText("Length of char array is " + chars.Length + ""n");

this.textBox1.AppendText("char[2] = " + chars[2] + ""n");

char[] name = { ‘q’, ‘u’, ‘z’, ‘h’, ‘i’, ‘x’, ‘u’,’n’ };

string sname = new String(name);//char[]->string

this.textBox1.AppendText("sname = """ + sname + """"n");

5、tring和byte[]的互换

string s = "hi,屈志勋";

byte[] b1 = System.Text.Encoding.Default.GetBytes(s);//sting->byte[],半个英文1个字节,汉字2 个字节。

byte[] b2 = System.Text.Encoding.Unicode.GetBytes(s); //sting->byte[],都是两个字节。

string t1 = "", t2 = "";

foreach (byte b in b1)   t1 += b.ToString("") + " ";

foreach (byte b in b2)  t2 += b.ToString("") + " ";

this.textBox1.Text = "";

this.textBox1.AppendText("b1.Length = " + b1.Length + ""n");

this.textBox1.AppendText(t1 + ""n");

this.textBox1.AppendText("b2.Length = " + b2.Length + ""n");

this.textBox1.AppendText(t2 + ""n");

byte[] b = { 65, 66, 67 };

string s = System.Text.Encoding.ASCII.GetString(b);//byte[]->string

this.textBox1.AppendText("The string is: " + s + ""n");

6、转换十六进制( a.ToString("x6")

int a = 159357;

this.textBox1.Text = "";

this.textBox1.AppendText("a(10) = " + a.ToString() + ""n");

this.textBox1.AppendText("a(16) = " + a.ToString("x6") + ""n");

this.textBox1.AppendText("a(16) = " + a.ToString("X6") + ""n");

7、DateTime和long类型的互换(DateTime.FromOADate(doubleDate))

double doubleDate = DateTime.Now.ToOADate();//按原来的double值输出,DateTime->long

DateTime theDate = DateTime.FromOADate(doubleDate);//从原来的的double值获得System.DateTime对象,long->DateTime

this.textBox1.Text = "";

this.textBox1.AppendText("Double value of now: " + doubleDate.ToString() + ""n");

this.textBox1.AppendText("DateTime from double value: " + theDate.ToString() + ""n");

//

8、form DateTime

DateTime now = DateTime.Now;

string format;

this.textBox1.Text = "";

format = """year"":yyyy,""month"":MM,""day"":dd HH:mm:ss";

this.textBox1.AppendText(format + ": " + now.ToString(format) + ""n");

format = "yy年M日d日";

this.textBox1.AppendText(format + ": " + now.ToString(format) + ""n");