<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>山豬大哥的菜籃子 &#187; ASP.NET</title>
	<atom:link href="http://blog.go-x.net/blog/category/asp-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.go-x.net/blog</link>
	<description>Funny Doraemon&#039;s Blogs,Video,Funny pictures,Travel Taiwan</description>
	<lastBuildDate>Sun, 27 Nov 2011 23:59:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://blog.go-x.net/blog/?pushpress=hub'/>
		<item>
		<title>How to convert from string to datetime in sql server?</title>
		<link>http://blog.go-x.net/blog/2010/05/06/how-to-convert-from-string-to-datetime-in-sql-server/</link>
		<comments>http://blog.go-x.net/blog/2010/05/06/how-to-convert-from-string-to-datetime-in-sql-server/#comments</comments>
		<pubDate>Thu, 06 May 2010 01:30:42 +0000</pubDate>
		<dc:creator>webmaster</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://blog.go-x.net/blog/?p=190</guid>
		<description><![CDATA[Execute the following T-SQL scripts in Microsoft SQL Server Manangement Studio Query Editor to demonstrate T-SQL convert and cast functions in transforming string date, string time &#38; string datetime data to datetime data type. Other datetime manipulation examples are presented as well. &#8211; Microsoft SQL Server string to date conversion &#8211; datetime string format sql [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: verdana; color: #0000ff; font-size: xx-small;">Execute the following T-SQL scripts in Microsoft SQL Server Manangement Studio Query Editor to demonstrate T-SQL convert and cast functions in transforming string date, string time &amp; string datetime data to datetime data type. Other datetime manipulation examples are presented as well.</span></p>
<p>&#8211; Microsoft SQL Server string to date conversion &#8211; datetime string format sql server</p>
<p>&#8211; MSSQL string to datetime conversion &#8211; convert char to date sql server</p>
<p>&#8211; Subtract 100 from style number (format) for yy instead yyyy (or ccyy with century)</p>
<p>SELECT convert(datetime, &#8217;Oct 23 2012 11:01AM&#8217;, 100) &#8211; mon dd yyyy hh:mmAM (or PM)</p>
<p>SELECT convert(datetime, &#8217;Oct 23 2012 11:01AM&#8217;) &#8211; 2012-10-23 11:01:00.000</p>
<p>&#8211; Without century (yy) string date conversion &#8211; convert string to datetime</p>
<p>SELECT convert(datetime, &#8217;Oct 23 12 11:01AM&#8217;,     0) &#8211; mon dd yy hh:mmAM (or PM)</p>
<p>SELECT convert(datetime, &#8217;Oct 23 12 11:01AM&#8217;) &#8211; 2012-10-23 11:01:00.000</p>
<p>&#8211; Convert string to datetime sql &#8211; convert string to date sql - sql dates format</p>
<p>&#8211; T-SQL convert string to datetime &#8211; SQL Server convert string to date</p>
<p>SELECT convert(datetime, &#8217;10/23/2016&#8242;,          101) &#8211; mm/dd/yyyy</p>
<p>SELECT convert(datetime, &#8217;2016.10.23&#8242;,          102) &#8211; yyyy.mm.dd</p>
<p>SELECT convert(datetime, &#8217;23/10/2016&#8242;,          103) &#8211; dd/mm/yyyy</p>
<p>SELECT convert(datetime, &#8217;23.10.2016&#8242;,          104) &#8211; dd.mm.yyyy</p>
<p>SELECT convert(datetime, &#8217;23-10-2016&#8242;,          105) &#8211; dd-mm-yyyy</p>
<p>&#8211; mon types are nondeterministic conversions, dependent on language setting</p>
<p>SELECT convert(datetime, &#8217;23 OCT 2016&#8242;,         106) &#8211; dd mon yyyy</p>
<p>SELECT convert(datetime, &#8217;Oct 23, 2016&#8242;,        107) &#8211; mon dd, yyyy</p>
<p>&#8211; 2016-10-23 00:00:00.000</p>
<p>SELECT convert(datetime, &#8217;20:10:44&#8242;,            108) &#8211; hh:mm:ss</p>
<p>&#8211; 1900-01-01 20:10:44.000</p>
<p>&#8211; mon dd yyyy hh:mm:ss:mmmAM (or PM) &#8211; sql time format</p>
<p>SELECT convert(datetime, &#8217;Oct 23 2016 11:02:44:013AM&#8217;, 109)</p>
<p>&#8211; 2016-10-23 11:02:44.013</p>
<p>SELECT convert(datetime, &#8217;10-23-2016&#8242;,          110) &#8211; mm-dd-yyyy</p>
<p>SELECT convert(datetime, &#8217;2016/10/23&#8242;,          111) &#8211; yyyy/mm/dd</p>
<p>SELECT convert(datetime, &#8217;20161023&#8242;,            112) &#8211; yyyymmdd</p>
<p>&#8211; 2016-10-23 00:00:00.000</p>
<p>SELECT convert(datetime, &#8217;23 Oct 2016 11:02:07:577&#8242;, 113) &#8211; dd mon yyyy hh:mm:ss:mmm</p>
<p>&#8211; 2016-10-23 11:02:07.577</p>
<p>SELECT convert(datetime, &#8217;20:10:25:300&#8242;,             114) &#8211; hh:mm:ss:mmm(24h)</p>
<p>&#8211; 1900-01-01 20:10:25.300</p>
<p>SELECT convert(datetime, &#8217;2016-10-23 20:44:11&#8242;,      120) &#8211; yyyy-mm-dd hh:mm:ss(24h)</p>
<p>&#8211; 2016-10-23 20:44:11.000</p>
<p>SELECT convert(datetime, &#8217;2016-10-23 20:44:11.500&#8242;,  121) &#8211; yyyy-mm-dd hh:mm:ss.mmm</p>
<p>&#8211; 2016-10-23 20:44:11.500</p>
<p>SELECT convert(datetime, &#8217;2008-10-23T18:52:47.513&#8242;,  126) &#8211; yyyy-mm-ddThh:mm:ss.mmm</p>
<p>&#8211; 2008-10-23 18:52:47.513<br />
&#8211; Convert DDMMYYYY format to datetime</p>
<p>SELECT convert(datetime, STUFF(STUFF(&#8217;31012016&#8242;,3,0,&#8217;-'),6,0,&#8217;-'), 105)</p>
<p>&#8211; 2016-01-31 00:00:00.000</p>
<p>&#8211; SQL string to datetime conversion without century &#8211; some exceptions</p>
<p>SELECT convert(datetime, &#8217;10/23/16&#8242;,          1)                  &#8211; mm/dd/yy</p>
<p>SELECT convert(datetime, &#8217;16.10.23&#8242;,          2)                  &#8211; yy.mm.dd</p>
<p>SELECT convert(datetime, &#8217;23/10/16&#8242;,          3)                  &#8211; dd/mm/yy</p>
<p>SELECT convert(datetime, &#8217;23.10.16&#8242;,          4)                  &#8211; dd.mm.yy</p>
<p>SELECT convert(datetime, &#8217;23-10-16&#8242;,          5)                  &#8211; dd-mm-yy</p>
<p>SELECT convert(datetime, &#8217;23 OCT 16&#8242;,         6)                  &#8211; dd mon yy</p>
<p>SELECT convert(datetime, &#8217;Oct 23, 16&#8242;,        7)                  &#8211; mon dd, yy</p>
<p>SELECT convert(datetime, &#8217;20:10:44&#8242;,          8)                  &#8211; hh:mm:ss</p>
<p>SELECT convert(datetime, &#8217;Oct 23 16 11:02:44:013AM&#8217;, 9)</p>
<p>SELECT convert(datetime, &#8217;10-23-16&#8242;,          10)                 &#8211; mm-dd-yy</p>
<p>SELECT convert(datetime, &#8217;16/10/23&#8242;,          11)                 &#8211; yy/mm/dd</p>
<p>SELECT convert(datetime, &#8217;161023&#8242;,            12)                 &#8211; yymmdd</p>
<p>SELECT convert(datetime, &#8217;23 Oct 16 11:02:07:577&#8242;, 13)        &#8211; dd mon yy hh:mm:ss:mmm</p>
<p>SELECT convert(datetime, &#8217;20:10:25:300&#8242;,        14)           &#8211; hh:mm:ss:mmm(24h)</p>
<p>SELECT convert(datetime, &#8217;2016-10-23 20:44:11&#8242;,20)            &#8211; yyyy-mm-dd hh:mm:ss(24h)</p>
<p>SELECT convert(datetime, &#8217;2016-10-23 20:44:11.500&#8242;, 21)       &#8211; yyyy-mm-dd hh:mm:ss.mmm</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL Datetime Data Type: Combine date &amp; time string into datetime &#8211; sql hh mm ss</p>
<p>&#8211; String to datetime &#8211; mssql datetime &#8211; sql convert date &#8211; sql concatenate string</p>
<p>DECLARE @DateTimeValue varchar(32), @DateValue char(8), @TimeValue char(6)</p>
<p>SELECT      @DateValue = &#8217;20120718&#8242;,</p>
<p>@TimeValue = &#8217;211920&#8242;</p>
<p>SELECT @DateTimeValue =</p>
<p>convert(varchar, convert(datetime, @DateValue), 111)</p>
<p>+ &#8217; &#8216; + substring(@TimeValue, 1, 2)</p>
<p>+ &#8217;:' + substring(@TimeValue, 3, 2)</p>
<p>+ &#8217;:' + substring(@TimeValue, 5, 2)</p>
<p>SELECT</p>
<p>DateInput = @DateValue,</p>
<p>TimeInput = @TimeValue,</p>
<p>DateTimeOutput = @DateTimeValue;</p>
<p>/*</p>
<p>DateInput   TimeInput   DateTimeOutput</p>
<p>20120718    211920      2012/07/18 21:19:20</p>
<p>*/</p>
<p>&#8211; SQL convert seconds to HH:MM:SS &#8211; sql times format &#8211; sql hh mm</p>
<p>DECLARE  @Seconds INT</p>
<p>SET @Seconds = 20000</p>
<p>SELECT HH =  @Seconds / 3600,</p>
<p>MM = (@Seconds%3600) / 60,</p>
<p>SS = (@Seconds%60)</p>
<p>GO</p>
<p>/*</p>
<p>HH    MM    SS</p>
<p>5     33    20</p>
<p>*/<br />
&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL Server 2008 convert datetime to date &#8211; sql yyyy mm dd</p>
<p>SELECT      TOP (3)</p>
<p>OrderDate = CONVERT(date, OrderDate),</p>
<p>Today = CONVERT(date, getdate())</p>
<p>FROM AdventureWorks2008.Sales.SalesOrderHeader</p>
<p>ORDER BY newid();</p>
<p>/*          OrderDate   Today</p>
<p>2003-07-09  2012-06-18</p>
<p>2003-09-26  2012-06-18</p>
<p>2004-02-15  2012-06-18 */</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL date yyyy mm dd &#8211; sqlserver yyyy mm dd &#8211; date format yyyymmdd</p>
<p>SELECT CONVERT(VARCHAR(10), GETDATE(), 111) AS [YYYY/MM/DD]</p>
<p>/*  YYYY/MM/DD</p>
<p>2015/07/11    */</p>
<p>SELECT CONVERT(VARCHAR(10), GETDATE(), 112) AS [YYYYMMDD]</p>
<p>/*  YYYYMMDD</p>
<p>20150711     */</p>
<p>SELECT REPLACE(CONVERT(VARCHAR(10), GETDATE(), 111),&#8217;/',&#8217; &#8216;) AS [YYYY MM DD]</p>
<p>/* YYYY MM DD</p>
<p>2015 07 11    */</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL convert date string to datetime &#8211; time set to 00:00:00.000 or 12:00AM</p>
<p>PRINT CONVERT(datetime,&#8217;07-10-2012&#8242;,110)        &#8211; Jul 10 2012 12:00AM</p>
<p>PRINT CONVERT(datetime,&#8217;2012/07/10&#8242;,111)        &#8211; Jul 10 2012 12:00AM</p>
<p>PRINT CONVERT(datetime,&#8217;20120710&#8242;,  112)        &#8211; Jul 10 2012 12:00AM</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; String to date conversion &#8211; sql date yyyy mm dd &#8211; sql date formatting</p>
<p>&#8211; SQL Server cast string to date &#8211; sql convert date to datetime</p>
<p>SELECT [Date] = CAST (@DateValue AS datetime)</p>
<p>GO</p>
<p>&#8211; 2012-07-18 00:00:00.000</p>
<p>&#8211; SQL convert string date to different style &#8211; sql date string formatting</p>
<p>SELECT CONVERT(varchar, CONVERT(datetime, &#8217;20140508&#8242;), 100)</p>
<p>&#8211; May  8 2014 12:00AM</p>
<p>&#8211; SQL Server convert date to integer</p>
<p>DECLARE @Date datetime</p>
<p>SET @Date = getdate()</p>
<p>SELECT DateAsInteger = CAST (CONVERT(varchar,@Date,112) as INT)</p>
<p>&#8211; Result: 20161225</p>
<p>&#8211; SQL Server convert integer to datetime</p>
<p>DECLARE @iDate int</p>
<p>SET @iDate = 20151225</p>
<p>SELECT IntegerToDatetime = CAST(convert(varchar,@iDate) as datetime)</p>
<p>GO<br />
&#8211; 2015-12-25 00:00:00.000</p>
<p>&#8211; Alternates: date-only datetime values</p>
<p>&#8211; SQL Server floor date &#8211; sql convert datetime</p>
<p>SELECT [DATE-ONLY]=CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, GETDATE())))</p>
<p>SELECT [DATE-ONLY]=CONVERT(DATETIME, FLOOR(CONVERT(MONEY, GETDATE())))</p>
<p>&#8211; SQL Server cast string to datetime</p>
<p>&#8211; SQL Server datetime to string convert</p>
<p>SELECT [DATE-ONLY]=CAST(CONVERT(varchar, GETDATE(), 101) AS DATETIME)</p>
<p>&#8211; SQL Server dateadd function - T-SQL datediff function</p>
<p>&#8211; SQL strip time from date - MSSQL strip time from datetime</p>
<p>SELECT getdate() ,DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0)</p>
<p>&#8211; Results: 2016-01-23 05:35:52.793 2016-01-23 00:00:00.000</p>
<p>&#8211; String date  &#8211; 10 bytes of storage</p>
<p>SELECT [STRING DATE]=CONVERT(varchar,  GETDATE(), 110)</p>
<p>SELECT [STRING DATE]=CONVERT(varchar,  CURRENT_TIMESTAMP, 110)</p>
<p>&#8211; Same results: 01-02-2012</p>
<p>&#8211; SQL Server cast datetime as string &#8211; sql datetime formatting</p>
<p>SELECT stringDateTime=CAST (getdate() as varchar)</p>
<p>&#8211;Result: Dec 29 2012  3:47AM</p>
<p>&#8212;&#8212;&#8212;-</p>
<p>&#8211; SQL date range between</p>
<p>&#8212;&#8212;&#8212;-</p>
<p>&#8211; SQL date range select &#8211; date range search</p>
<p>&#8211; T-SQL date range query &#8211; sql date ranges</p>
<p>&#8211; Count Sales Orders for 2003 OCT-NOV</p>
<p>DECLARE  @StartDate DATETIME,  @EndDate DATETIME</p>
<p>SET @StartDate = convert(DATETIME,&#8217;10/01/2003&#8242;,101)</p>
<p>SET @EndDate   = convert(DATETIME,&#8217;11/30/2003&#8242;,101)</p>
<p>SELECT @StartDate, @EndDate</p>
<p>&#8211; 2003-10-01 00:00:00.000  2003-11-30 00:00:00.000</p>
<p>SELECT DATEADD(DAY,1,@EndDate),</p>
<p>DATEADD(ms,-3,DATEADD(DAY,1,@EndDate))</p>
<p>&#8211; 2003-12-01 00:00:00.000  2003-11-30 23:59:59.997</p>
<p>&#8211; MSSQL date range select using &gt;= and &lt;</p>
<p>SELECT [Sales Orders for 2003 OCT-NOV] = COUNT(* )</p>
<p>FROM   Sales.SalesOrderHeader</p>
<p>WHERE  OrderDate &gt;= @StartDate</p>
<p>AND OrderDate &lt; DATEADD(DAY,1,@EndDate)</p>
<p>/*</p>
<p>Sales Orders for 2003 OCT-NOV</p>
<p>3668</p>
<p>*/</p>
<p>&#8211; Equivalent date range query using BETWEEN comparison</p>
<p>&#8211; It requires a bit of trick programming</p>
<p>SELECT [Sales Orders for 2003 OCT-NOV] = COUNT(* )</p>
<p>FROM   Sales.SalesOrderHeader</p>
<p>WHERE  OrderDate BETWEEN @StartDate AND DATEADD(ms,-3,DATEADD(DAY,1,@EndDate))</p>
<p>&#8211; 3668</p>
<p>GO</p>
<p>USE AdventureWorks;</p>
<p>&#8211; SQL between string dates</p>
<p>SELECT POs=COUNT(*) FROM Purchasing.PurchaseOrderHeader</p>
<p>WHERE OrderDate BETWEEN &#8217;20040201&#8242; AND &#8217;20040210&#8242;</p>
<p>&#8211; Result: 108</p>
<p>&#8211; BETWEEN is equivalent to &gt;=&#8230;AND&#8230;.&lt;=</p>
<p>SELECT POs=COUNT(*) FROM Purchasing.PurchaseOrderHeader</p>
<p>WHERE OrderDate</p>
<p>BETWEEN &#8217;2004-02-01 00:00:00.000&#8242; AND &#8217;2004-02-10  00:00:00.000&#8242;</p>
<p>/*</p>
<p>Orders with OrderDates</p>
<p>&#8217;2004-02-10  00:00:01.000&#8242;  &#8211; 1 second after midnight (12:00AM)</p>
<p>&#8217;2004-02-10  00:01:00.000&#8242;  &#8211; 1 minute after midnight</p>
<p>&#8217;2004-02-10  01:00:00.000&#8242;  &#8211; 1 hour after midnight</p>
<p>are not included in the two queries above.</p>
<p>*/</p>
<p>&#8211; To include the entire day of 2004-02-10 use:</p>
<p>SELECT POs=COUNT(*) FROM Purchasing.PurchaseOrderHeader</p>
<p>WHERE OrderDate &gt;= &#8217;20040201&#8242; AND OrderDate &lt; &#8217;20040211&#8242;</p>
<p>&#8212;&#8212;&#8212;-</p>
<p>&#8211; Date validation function ISDATE &#8211; returns 1 or 0</p>
<p>&#8211; SQL datetime functions</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>DECLARE @StringDate varchar(32)</p>
<p>SET @StringDate = &#8217;2011-03-15 18:50&#8242;</p>
<p>IF EXISTS( SELECT * WHERE ISDATE(@StringDate) = 1)</p>
<p>PRINT &#8217;VALID DATE: &#8216; + @StringDate</p>
<p>ELSE</p>
<p>PRINT &#8217;INVALID DATE: &#8216; + @StringDate</p>
<p>GO</p>
<p>&#8211; Result: VALID DATE: 2011-03-15 18:50</p>
<p>DECLARE @StringDate varchar(32)</p>
<p>SET @StringDate = &#8217;20112-03-15 18:50&#8242;</p>
<p>IF EXISTS( SELECT * WHERE ISDATE(@StringDate) = 1)</p>
<p>PRINT &#8217;VALID DATE: &#8216; + @StringDate</p>
<p>ELSE</p>
<p>PRINT &#8217;INVALID DATE: &#8216; + @StringDate</p>
<p>GO</p>
<p>&#8211; Result: INVALID DATE: 20112-03-15 18:50</p>
<p>&#8211; Selected named date styles<br />
&#8212;&#8212;&#8212;&#8212;</p>
<p>DECLARE @DateTimeValue varchar(32)</p>
<p>&#8211; US-Style</p>
<p>SELECT @DateTimeValue = &#8217;10/23/2016&#8242;</p>
<p>SELECT StringDate=@DateTimeValue,</p>
<p>[US-Style] = CONVERT(datetime, @DatetimeValue)</p>
<p>SELECT @DateTimeValue = &#8217;10/23/2016 23:01:05&#8242;</p>
<p>SELECT StringDate = @DateTimeValue,</p>
<p>[US-Style] = CONVERT(datetime, @DatetimeValue)</p>
<p>&#8211; UK-Style, British/French</p>
<p>&#8211; convert string to datetime sql</p>
<p>&#8211; sql convert string to datetime</p>
<p>SELECT @DateTimeValue = &#8217;23/10/16 23:01:05&#8242;</p>
<p>SELECT StringDate = @DateTimeValue,</p>
<p>[UK-Style] = CONVERT(datetime, @DatetimeValue, 3)</p>
<p>SELECT @DateTimeValue = &#8217;23/10/2016 04:01 PM&#8217;</p>
<p>SELECT StringDate = @DateTimeValue,</p>
<p>[UK-Style] = CONVERT(datetime, @DatetimeValue, 103)</p>
<p>&#8211; German-Style</p>
<p>SELECT @DateTimeValue = &#8217;23.10.16 23:01:05&#8242;</p>
<p>SELECT StringDate = @DateTimeValue,</p>
<p>[German-Style] = CONVERT(datetime, @DatetimeValue, 4)</p>
<p>SELECT @DateTimeValue = &#8217;23.10.2016 04:01 PM&#8217;</p>
<p>SELECT StringDate = @DateTimeValue,</p>
<p>[German-Style] = CONVERT(datetime, @DatetimeValue, 104)</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; Double conversion to US-Style 107 with century: Oct 23, 2016</p>
<p>SET @DateTimeValue=&#8217;10/23/16&#8242;</p>
<p>SELECT StringDate=@DateTimeValue,</p>
<p>[US-Style] = CONVERT(varchar, CONVERT(datetime, @DateTimeValue),107)</p>
<p>&#8211; Using DATEFORMAT &#8211; UK-Style</p>
<p>&#8211; SQL dateformat</p>
<p>SET @DateTimeValue=&#8217;23/10/16&#8242;</p>
<p>SET DATEFORMAT dmy</p>
<p>SELECT StringDate=@DateTimeValue,</p>
<p>[Date Time] = CONVERT(datetime, @DatetimeValue)</p>
<p>&#8211; Using DATEFORMAT &#8211; US-Style</p>
<p>SET DATEFORMAT mdy</p>
<p>&#8211; DATEPART datetime function example</p>
<p>&#8211; SQL Server datetime functions</p>
<p>SELECT * FROM Northwind.dbo.Orders</p>
<p>WHERE</p>
<p>DATEPART(YEAR, OrderDate) = &#8217;1996&#8242; AND</p>
<p>DATEPART(MONTH,OrderDate) = &#8217;07&#8242;   AND</p>
<p>DATEPART(DAY, OrderDate)  = &#8217;10&#8242;</p>
<p>&#8211; Alternate syntax for DATEPART example</p>
<p>SELECT * FROM Northwind.dbo.Orders</p>
<p>WHERE</p>
<p>YEAR(OrderDate)         = &#8217;1996&#8242; AND</p>
<p>MONTH(OrderDate)        = &#8217;07&#8242;   AND</p>
<p>DAY(OrderDate)          = &#8217;10&#8242;</p>
<p>GO</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; Extract string date from text with PATINDEX pattern matching</p>
<p>&#8211; Apply <span>sql server string to date conversion</span></p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>USE tempdb;</p>
<p>go</p>
<p>CREATE TABLE InsiderTransaction (</p>
<p>InsiderTransactionID int identity primary key,</p>
<p>TradeDate datetime,</p>
<p>TradeMsg varchar(256),</p>
<p>ModifiedDate datetime default (getdate())</p>
<p>)</p>
<p>go</p>
<p>&#8211; Populate table with dummy data</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN QABC Hammer, Bruce D. CSO 09-02-08 Buy 2,000 6.10&#8242;)</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN QABC Schmidt, Steven CFO 08-25-08 Buy 2,500 6.70&#8242;)</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN QABC  Hammer, Bruce D. CSO  08-20-08 Buy 3,000 8.59&#8242;)</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN QABC Walters,  Jeff CTO 08-15-08  Sell 5,648 8.49&#8242;)</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN  QABC  Walters, Jeff CTO   08-15-08 Option Execute 5,648 2.15&#8242;)</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN QABC Hammer, Bruce D. CSO 07-31-08  Buy 5,000 8.05&#8242;)</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN QABC Lennot, Mark B. Director  08-31-07 Buy 1,500 9.97&#8242;)</p>
<p>INSERT InsiderTransaction (TradeMsg) VALUES(</p>
<p>&#8216;INSIDER TRAN QABC  O&#8221;Neal, Linda COO  08-01-08 Sell 5,000 6.50&#8242;)</p>
<p>go</p>
<p>&#8211; Extract dates from stock trade message text</p>
<p>&#8211; Pattern match for MM-DD-YY using the PATINDEX string function</p>
<p>SELECT TradeDate=substring(TradeMsg,</p>
<p>patindex(&#8216;%[01][0-9]-[0123][0-9]-[0-9][0-9]%&#8217;, TradeMsg),8)</p>
<p>FROM InsiderTransaction</p>
<p>WHERE  patindex(&#8216;%[01][0-9]-[0123][0-9]-[0-9][0-9]%&#8217;, TradeMsg) &gt; 0</p>
<p>/* Partial results</p>
<p>TradeDate</p>
<p>09-02-08</p>
<p>08-25-08</p>
<p>08-20-08</p>
<p>*/</p>
<p>&#8211; Update table with extracted date</p>
<p>&#8211; Convert string date to datetime</p>
<p>UPDATE InsiderTransaction</p>
<p>SET TradeDate = convert(datetime,  substring(TradeMsg,</p>
<p>patindex(&#8216;%[01][0-9]-[0123][0-9]-[0-9][0-9]%&#8217;, TradeMsg),8))</p>
<p>WHERE  patindex(&#8216;%[01][0-9]-[0123][0-9]-[0-9][0-9]%&#8217;, TradeMsg) &gt; 0</p>
<p>SELECT * FROM InsiderTransaction ORDER BY TradeDate desc</p>
<p>/* Partial results</p>
<p>InsiderTransactionID    TradeDate   TradeMsg    ModifiedDate</p>
<p>1     2008-09-02 00:00:00.000 INSIDER TRAN QABC Hammer, Bruce D. CSO 09-02-08 Buy 2,000 6.10      2008-12-22 20:25:19.263</p>
<p>2     2008-08-25 00:00:00.000 INSIDER TRAN QABC Schmidt, Steven CFO 08-25-08 Buy 2,500 6.70      2008-12-22 20:25:19.263</p>
<p>3     2008-08-20 00:00:00.000 INSIDER TRAN QABC  Hammer, Bruce D. CSO  08-20-08 Buy 3,000 8.59  2008-12-22 20:25:19.263</p>
<p>*/</p>
<p>&#8211; Cleanup task</p>
<p>DROP TABLE InsiderTransaction</p>
<p>go</p>
<p>/************</p>
<p>VALID DATE RANGES FOR DATETIME DATA TYPES</p>
<p>SMALLDATETIME (4 bytes) date range:</p>
<p>January 1, 1900 through June 6, 2079</p>
<p>DATETIME (8 bytes) date range:</p>
<p>January 1, 1753 through December 31, 9999</p>
<p>&#8211; The statement below will give a date range error</p>
<p>SELECT CONVERT(smalldatetime, &#8217;2110-01-01&#8242;)</p>
<p>/*</p>
<p>Msg 242, Level 16, State 3, Line 1</p>
<p>The conversion of a varchar data type to a smalldatetime data type</p>
<p>resulted in an out-of-range value.</p>
<p>*/</p>
<p>************/</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL CONVERT DATE/DATETIME script applying table variable</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL Server convert date</p>
<p>&#8211; Datetime column is converted into date only string column</p>
<p>DECLARE @sqlConvertDate TABLE ( DatetimeColumn datetime,</p>
<p>DateColumn char(10));</p>
<p>INSERT @sqlConvertDate(DatetimeColumn) SELECT GETDATE()</p>
<p>UPDATE @sqlConvertDate</p>
<p>SET DateColumn = CONVERT(char(10), DatetimeColumn, 111)</p>
<p>SELECT * FROM @sqlConvertDate</p>
<p>&#8211; SQL Server convert datetime</p>
<p>&#8211; The string date column is converted into datetime column</p>
<p>UPDATE @sqlConvertDate</p>
<p>SET DatetimeColumn = CONVERT(Datetime, DateColumn, 111)</p>
<p>SELECT * FROM @sqlConvertDate</p>
<p>&#8211; Equivalent formulation</p>
<p>&#8211; SQL Server cast datetime</p>
<p>UPDATE @sqlConvertDate</p>
<p>SET DatetimeColumn = CAST(DateColumn AS datetime)</p>
<p>SELECT * FROM @sqlConvertDate</p>
<p>GO</p>
<p>/* First results</p>
<p>DatetimeColumn                DateColumn</p>
<p>2012-12-25 15:54:10.363       2012/12/25 */</p>
<p>/* Second results:</p>
<p>DatetimeColumn                DateColumn</p>
<p>2012-12-25 00:00:00.000       2012/12/25  */</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL date sequence generation with DATEADD &amp; table variable</p>
<p>&#8211; SQL Server cast datetime to string</p>
<p>&#8211; SQL Server insert default values method</p>
<p>DECLARE @Sequence table (Sequence int identity(1,1))</p>
<p>DECLARE @i int; SET @i = 0</p>
<p>WHILE ( @i &lt; 500)</p>
<p>BEGIN</p>
<p>INSERT @Sequence DEFAULT VALUES</p>
<p>SET @i = @i + 1</p>
<p>END</p>
<p>SELECT DateSequence = CAST(DATEADD(day, Sequence,getdate()) AS varchar)</p>
<p>FROM @Sequence</p>
<p>GO</p>
<p>/* Partial results:</p>
<p>DateSequence</p>
<p>Dec 31 2008  3:02AM</p>
<p>Jan  1 2009  3:02AM</p>
<p>Jan  2 2009  3:02AM</p>
<p>Jan  3 2009  3:02AM</p>
<p>Jan  4 2009  3:02AM</p>
<p>Jan  5 2009  3:02AM</p>
<p>Jan  6 2009  3:02AM</p>
<p>Jan  7 2009  3:02AM</p>
<p>*/</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL Last Week calculations</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL last Friday</p>
<p>&#8211; Implied string to datetime conversions in DATEADD &amp; DATEDIFF</p>
<p>DECLARE @BaseFriday CHAR(8), @LastFriday datetime, @LastMonday datetime</p>
<p>SET @BaseFriday = &#8217;19000105&#8242;</p>
<p>SELECT @LastFriday = DATEADD(dd,</p>
<p>(DATEDIFF(dd, @BaseFriday, CURRENT_TIMESTAMP) / 7) * 7,</p>
<p>@BaseFriday)</p>
<p>SELECT [Last Friday] = @LastFriday</p>
<p>&#8211; Result: 2008-12-26 00:00:00.000</p>
<p>&#8211; SQL last Monday (last week&#8217;s Monday)</p>
<p>SELECT @LastMonday=DATEADD(dd,</p>
<p>(DATEDIFF(dd, @BaseFriday, CURRENT_TIMESTAMP) / 7) * 7 - 4,</p>
<p>@BaseFriday)</p>
<p>SELECT [Last Monday]= @LastMonday</p>
<p>&#8211; Result: 2008-12-22 00:00:00.000</p>
<p>&#8211; SQL last week &#8211; SUN &#8211; SAT</p>
<p>SELECT [Last Week] = CONVERT(varchar,dateadd(day, -1, @LastMonday), 101)+</p>
<p>&#8216; &#8211; &#8216; +</p>
<p>CONVERT(varchar,dateadd(day, 1,  @LastFriday), 101)</p>
<p>&#8211; Result: 12/21/2008 &#8211; 12/27/2008</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL Last Date calculations</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; Last day of prior month</p>
<p>&#8211; Last day of previous month</p>
<p>SELECT convert( varchar, dateadd(dd,-1,DATEADD(mm, DATEDIFF(mm,0,getdate()  ), 0)),101)</p>
<p>&#8211; 01/31/2019</p>
<p>&#8211; Last day of current month</p>
<p>SELECT convert( varchar, dateadd(dd,-1,DATEADD(mm, DATEDIFF(mm,0,getdate())+1, 0)),101)</p>
<p>&#8211; 02/28/2019</p>
<p>&#8211; Last day of prior quarter</p>
<p>&#8211; Last day of previous quarter</p>
<p>SELECT convert( varchar, dateadd(dd,-1,DATEADD(qq, DATEDIFF(qq,0,getdate()  ), 0)),101)</p>
<p>&#8211; 12/31/2018</p>
<p>&#8211; Last day of current quarter</p>
<p>&#8211; Last day of current quarter</p>
<p>SELECT convert( varchar, dateadd(dd,-1,DATEADD(qq, DATEDIFF(qq,0,getdate())+1, 0)),101)</p>
<p>&#8211; 03/31/2019</p>
<p>&#8211; Last day of prior year</p>
<p>&#8211; Last day of previous year</p>
<p>SELECT convert( varchar, dateadd(dd,-1,DATEADD(yy, DATEDIFF(yy,0,getdate()  ), 0)),101)</p>
<p>&#8211; 12/31/2018</p>
<p>&#8211; Last day of current year</p>
<p>SELECT convert( varchar, dateadd(dd,-1,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0)),101)</p>
<p>&#8211; 12/31/2019</p>
<p>GO<br />
&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; SQL Server dateformat and language setting</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8211; T-SQL set language</p>
<p>&#8211; String to date conversion</p>
<p>SET LANGUAGE us_english</p>
<p>SELECT CAST(&#8217;2018-03-15&#8242; AS datetime)</p>
<p>&#8211; 2018-03-15 00:00:00.000</p>
<p>SET LANGUAGE british</p>
<p>SELECT CAST(&#8217;2018-03-15&#8242; AS datetime)</p>
<p>/* Msg 242, Level 16, State 3, Line 2</p>
<p>The conversion of a varchar data type to a datetime data type resulted in</p>
<p>an out-of-range value.</p>
<p>*/</p>
<p>SELECT CAST(&#8217;2018-15-03&#8242; AS datetime)</p>
<p>&#8211; 2018-03-15 00:00:00.000</p>
<p>SET LANGUAGE us_english</p>
<p>&#8211; SQL dateformat with language dependency</p>
<p>SELECT name, alias, dateformat</p>
<p>FROM sys.syslanguages</p>
<p>WHERE langid in(0,1,2,4,5,6,7,10,11,13,23,31)</p>
<p>GO</p>
<p>/*</p>
<p>name        alias             dateformat</p>
<p>us_english  English           mdy</p>
<p>Deutsch     German            dmy</p>
<p>Français    French            dmy</p>
<p>Dansk       Danish            dmy</p>
<p>Español     Spanish           dmy</p>
<p>Italiano    Italian           dmy</p>
<p>Nederlands  Dutch             dmy</p>
<p>Suomi       Finnish           dmy</p>
<p>Svenska     Swedish           ymd</p>
<p>magyar      Hungarian         ymd</p>
<p>British     British English   dmy</p>
<p>Arabic      Arabic            dmy</p>
<p>*/</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>Sql Server 中一个非常强大的日期格式化函数</p>
<p>Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM</p>
<p>Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06</p>
<p>Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16</p>
<p>Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06</p>
<p>Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06</p>
<p>Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06</p>
<p>Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06</p>
<p>Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06</p>
<p>Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46</p>
<p>Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM</p>
<p>Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06</p>
<p>Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16</p>
<p>Select CONVERT(varchar(100), GETDATE(), 12): 060516</p>
<p>Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937</p>
<p>Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967</p>
<p>Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47</p>
<p>Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157</p>
<p>Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM</p>
<p>Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16</p>
<p>Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47</p>
<p>Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250</p>
<p>Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM</p>
<p>Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006</p>
<p>Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16</p>
<p>Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006</p>
<p>Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006</p>
<p>Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006</p>
<p>Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006</p>
<p>Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006</p>
<p>Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49</p>
<p>Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM</p>
<p>Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006</p>
<p>Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16</p>
<p>Select CONVERT(varchar(100), GETDATE(), 112): 20060516</p>
<p>Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513</p>
<p>Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547</p>
<p>Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49</p>
<p>Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700</p>
<p>Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827</p>
<p>Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM</p>
<p>Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM</p>
<p>常用：</p>
<p>Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46</p>
<p>Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47</p>
<p>Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49</p>
<p>Select CONVERT(varchar(100), GETDATE(), 12): 060516</p>
<p>Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.go-x.net%2Fblog%2F2010%2F05%2F06%2Fhow-to-convert-from-string-to-datetime-in-sql-server%2F&amp;t=How%20to%20convert%20from%20string%20to%20datetime%20in%20sql%20server%3F" id="facebook_share_button_190" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_190') || document.getElementById('facebook_share_icon_190') || document.getElementById('facebook_share_both_190') || document.getElementById('facebook_share_button_190');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_190') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://blog.go-x.net/blog/2010/05/06/how-to-convert-from-string-to-datetime-in-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET程式中常用的33種程式碼</title>
		<link>http://blog.go-x.net/blog/2010/04/13/asp-net%e7%a8%8b%e5%bc%8f%e4%b8%ad%e5%b8%b8%e7%94%a8%e7%9a%8433%e7%a8%ae%e7%a8%8b%e5%bc%8f%e7%a2%bc/</link>
		<comments>http://blog.go-x.net/blog/2010/04/13/asp-net%e7%a8%8b%e5%bc%8f%e4%b8%ad%e5%b8%b8%e7%94%a8%e7%9a%8433%e7%a8%ae%e7%a8%8b%e5%bc%8f%e7%a2%bc/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 07:11:03 +0000</pubDate>
		<dc:creator>webmaster</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[asp]]></category>

		<guid isPermaLink="false">http://blog.go-x.net/blog/?p=9</guid>
		<description><![CDATA[September 8, 2006 ASP.NET程式中常用的33種程式碼 1. 打開新的視窗並傳送參數： 傳送參數： response.write(&#8220;＜script＞window.open(’*.aspx?id=&#8221;+this.DropDownList1.SelectIndex+&#8221;&#038;id1=&#8221;+&#8230;+&#8221;’)＜/script＞&#8221;); 接收參數： string a = Request.QueryString["id"]; string b = Request.QueryString["id1"]; 2.為按鈕新增對話方塊 Button1.Attributes.Add(&#8220;onclick&#8221;,&#8221;return confirm(’確認?’)&#8221;); button.attributes.add(&#8220;onclick&#8221;,&#8221;if(confirm(’are you sure&#8230;?’)){return true;}else{return false;}&#8221;) (小馬註：其實在ASP.NET 2.0已經有OnClientClick事件可以用了，程式碼的易讀性比用Attributes高，比較推薦使用) 3.刪除表格指定紀錄 int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex]; string deleteCmd = &#8220;DELETE from Employee where emp_id = &#8221; + intEmpID.ToString() 4.刪除表格紀錄警告 private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e) { 　switch(e.Item.ItemType) 　{ 　　case ListItemType.Item [...]]]></description>
			<content:encoded><![CDATA[<p>September 8, 2006 ASP.NET程式中常用的33種程式碼<br />
1. 打開新的視窗並傳送參數：<br />
傳送參數：<br />
response.write(&#8220;＜script＞window.open(’*.aspx?id=&#8221;+this.DropDownList1.SelectIndex+&#8221;&#038;id1=&#8221;+&#8230;+&#8221;’)＜/script＞&#8221;);<br />
接收參數：<br />
string a = Request.QueryString["id"];<br />
string b = Request.QueryString["id1"];</p>
<p>2.為按鈕新增對話方塊<br />
Button1.Attributes.Add(&#8220;onclick&#8221;,&#8221;return confirm(’確認?’)&#8221;);<br />
button.attributes.add(&#8220;onclick&#8221;,&#8221;if(confirm(’are you sure&#8230;?’)){return<br />
true;}else{return false;}&#8221;)<br />
(小馬註：其實在ASP.NET 2.0已經有OnClientClick事件可以用了，程式碼的易讀性比用Attributes高，比較推薦使用)</p>
<p>3.刪除表格指定紀錄<br />
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];<br />
string deleteCmd = &#8220;DELETE from Employee where emp_id = &#8221; + intEmpID.ToString()</p>
<p>4.刪除表格紀錄警告<br />
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)<br />
{<br />
　switch(e.Item.ItemType)<br />
　{<br />
　　case ListItemType.Item :<br />
　　case ListItemType.AlternatingItem :<br />
　　case ListItemType.EditItem:<br />
　　　TableCell myTableCell;<br />
　　　myTableCell = e.Item.Cells[14];<br />
　　　LinkButton myDeleteButton ;<br />
　　　myDeleteButton = (LinkButton)myTableCell.Controls[0];<br />
　　　myDeleteButton.Attributes.Add(&#8220;onclick&#8221;,&#8221;return confirm(’您是否確定要刪除這條資訊’);&#8221;);<br />
　　　break;<br />
　　default:<br />
　　　break;<br />
　}<br />
}</p>
<p>5.點擊表格行連結另一頁<br />
private void grdCustomer_ItemDataBound(object sender,<br />
System.Web.UI.WebControls.DataGridItemEventArgs e)<br />
{<br />
　//點擊表格打開<br />
　if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==<br />
ListItemType.AlternatingItem)<br />
　　e.Item.Attributes.Add(&#8220;onclick&#8221;,&#8221;window.open(’Default.aspx?id=&#8221; +<br />
e.Item.Cells[0].Text + &#8220;’);&#8221;);<br />
}<br />
雙擊表格連接到另一頁<br />
在itemDataBind事件中<br />
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==<br />
ListItemType.AlternatingItem)<br />
{<br />
　string OrderItemID =e.item.cells[1].Text;<br />
　&#8230;<br />
　e.item.Attributes.Add(&#8220;ondblclick&#8221;, &#8220;location.href=’../ShippedGrid.aspx?id=&#8221; +<br />
OrderItemID + &#8220;’&#8221;);<br />
}<br />
雙擊表格另開新頁<br />
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==<br />
ListItemType.AlternatingItem)<br />
{<br />
　string OrderItemID =e.item.cells[1].Text;<br />
　&#8230;<br />
　e.item.Attributes.Add(&#8220;ondblclick&#8221;, &#8220;open(’../ShippedGrid.aspx?id=&#8221; +<br />
OrderItemID + &#8220;’)&#8221;);<br />
}</p>
<p>6.表格超連結列傳遞參數<br />
＜asp:HyperLinkColumn Target=&#8221;_blank&#8221; headertext=&#8221;ID號&#8221; DataTextField=&#8221;id&#8221;<br />
NavigateUrl=&#8221;aaa.aspx?id=’<br />
　＜%# DataBinder.Eval(Container.DataItem, &#8220;數據欄位1&#8243;)%＞’ &#038; name=’＜%#<br />
DataBinder.Eval(Container.DataItem, &#8220;數據欄位2&#8243;)%＞’ /＞</p>
<p>7.表格點擊改變顏色<br />
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType ==<br />
ListItemType.AlternatingItem)<br />
{<br />
　e.Item.Attributes.Add(&#8220;onclick&#8221;,&#8221;this.style.backgroundColor=’#99cc00’;<br />
　　　 this.style.color=’buttontext’;this.style.cursor=’default’;&#8221;);<br />
}<br />
寫在DataGrid的_ItemDataBound裏<br />
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType ==<br />
ListItemType.AlternatingItem)<br />
{<br />
e.Item.Attributes.Add(&#8220;onmouseover&#8221;,&#8221;this.style.backgroundColor=’#99cc00’;<br />
　　　this.style.color=’buttontext’;this.style.cursor=’default’;&#8221;);<br />
e.Item.Attributes.Add(&#8220;onmouseout&#8221;,&#8221;this.style.backgroundColor=’’;this.style.color=’’;&#8221;);<br />
}<br />
8.關於日期格式<br />
日期格式設定<br />
DataFormatString=&#8221;{0:yyyy-MM-dd}&#8221;<br />
我覺得應該在itembound事件中<br />
e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString(&#8220;yyyy-MM-dd&#8221;))<br />
　　<br />
9.獲取錯誤資訊並到指定頁面<br />
不要使用Response.Redirect,而應該使用Server.Transfer<br />
　　e.g<br />
// in global.asax<br />
protected void Application_Error(Object sender, EventArgs e) {<br />
if (Server.GetLastError() is HttpUnhandledException)<br />
Server.Transfer(&#8220;MyErrorPage.aspx&#8221;);<br />
//其餘的非HttpUnhandledExceptionException交給ASP.NET自己處理就okay了 <img src='http://blog.go-x.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
}<br />
　　Redirect會導致post－back的產生從而丟失了錯誤資訊，所以頁面導向應該直接在伺服器端執行，這樣就可以在錯誤處理頁面得到出錯資訊並進行相應的處理<br />
　</p>
<p>10.清空Cookie<br />
Cookie.Expires=[DateTime];<br />
Response.Cookies(&#8220;UserName&#8221;).Expires = 0</p>
<p>11.自定義Exception處理<br />
//自定義Exception處理類別<br />
using System;<br />
using System.Diagnostics;<br />
namespace MyAppException<br />
{<br />
　/// ＜summary＞<br />
　/// 從系統Exception類別ApplicationException繼承的應用程式Exception處理類別。<br />
　/// 自動將Exception內容紀錄到Windows NT/2000的應用程式日誌<br />
　/// ＜/summary＞<br />
　public class AppException:System.ApplicationException<br />
　{<br />
　　public AppException()<br />
　　{<br />
　　　if (ApplicationConfiguration.EventLogEnabled)LogEvent(&#8220;出現一個未知錯誤。&#8221;);<br />
　　}<br />
　public AppException(string message)<br />
　{<br />
　　LogEvent(message);<br />
　}<br />
　public AppException(string message,Exception innerException)<br />
　{<br />
　　LogEvent(message);<br />
　　if (innerException != null)<br />
　　{<br />
　　　LogEvent(innerException.Message);<br />
　　}<br />
　}<br />
　//日誌紀錄類別<br />
　using System;<br />
　using System.Configuration;<br />
　using System.Diagnostics;<br />
　using System.IO;<br />
　using System.Text;<br />
　using System.Threading;<br />
　namespace MyEventLog<br />
　{<br />
　　/// ＜summary＞<br />
　　/// 事件日誌紀錄類別，提供事件日誌紀錄支援<br />
　　/// ＜remarks＞<br />
　　/// 定義了4個日誌紀錄方法 (error, warning, info, trace)<br />
　　/// ＜/remarks＞<br />
　　/// ＜/summary＞<br />
　　public class ApplicationLog<br />
　　{<br />
　　　/// ＜summary＞<br />
　　　/// 將錯誤資訊紀錄到Win2000/NT事件日誌中<br />
　　　/// ＜param name=&#8221;message&#8221;＞需要紀錄的文件資訊＜/param＞<br />
　　　/// ＜/summary＞<br />
　　　public static void WriteError(String message)<br />
　　　{<br />
　　　　WriteLog(TraceLevel.Error, message);<br />
　　　}<br />
　　　/// ＜summary＞<br />
　　　/// 將警告資訊紀錄到Win2000/NT事件日誌中<br />
　　　/// ＜param name=&#8221;message&#8221;＞需要紀錄的文件資訊＜/param＞<br />
　　　/// ＜/summary＞</p>
<p>　　　public static void WriteWarning(String message)<br />
　　　{<br />
　　　　WriteLog(TraceLevel.Warning, message);　　<br />
　　　}<br />
　　　/// ＜summary＞<br />
　　　/// 將提示資訊紀錄到Win2000/NT事件日誌中<br />
　　　/// ＜param name=&#8221;message&#8221;＞需要紀錄的文件資訊＜/param＞<br />
　　　/// ＜/summary＞<br />
　　　public static void WriteInfo(String message)<br />
　　　{<br />
　　　　WriteLog(TraceLevel.Info, message);<br />
　　　}<br />
　　　/// ＜summary＞<br />
　　　/// 將Trace資訊紀錄到Win2000/NT事件日誌中<br />
　　　/// ＜param name=&#8221;message&#8221;＞需要紀錄的文件資訊＜/param＞<br />
　　　/// ＜/summary＞<br />
　　　public static void WriteTrace(String message)<br />
　　　{<br />
　　　　WriteLog(TraceLevel.Verbose, message);<br />
　　　}</p>
<p>　　　/// ＜summary＞<br />
　　　/// 格式化紀錄到事件日誌的文件資訊格式<br />
　　　/// ＜param name=&#8221;ex&#8221;＞需要格式化的Exception物件＜/param＞<br />
　　　/// ＜param name=&#8221;catchInfo&#8221;＞Exception資訊標題字串.＜/param＞<br />
　　　/// ＜retvalue＞<br />
　　　/// ＜para＞格式後的Exception資訊字串，包括Exception內容和TraceStack.＜/para＞<br />
　　　/// ＜/retvalue＞<br />
　　　/// ＜/summary＞<br />
　　　public static String FormatException(Exception ex, String catchInfo)<br />
　　　{<br />
　　　　StringBuilder strBuilder = new StringBuilder();<br />
　　　　if (catchInfo != String.Empty)<br />
　　　　{<br />
　　　　　strBuilder.Append(catchInfo).Append(&#8220;rn&#8221;);<br />
　　　　}<br />
　　　　strBuilder.Append(ex.Message).Append(&#8220;rn&#8221;).Append(ex.StackTrace);<br />
　　　　return strBuilder.ToString();<br />
　　　}<br />
　　　/// ＜summary＞<br />
　　　/// 實際事件日誌寫入方法<br />
　　　/// ＜param name=&#8221;level&#8221;＞要紀錄資訊的級別（error,warning,info,trace).＜/param＞<br />
　　　/// ＜param name=&#8221;messageText&#8221;＞要紀錄的文件.＜/param＞<br />
　　　/// ＜/summary＞<br />
　　　private static void WriteLog(TraceLevel level, String messageText)<br />
　　　{<br />
　　　　try<br />
　　　　{<br />
　　　　　EventLogEntryType LogEntryType;<br />
　　　　　switch (level)<br />
　　　　　{<br />
　　　　　　case TraceLevel.Error:<br />
　　　　　　　LogEntryType = EventLogEntryType.Error;<br />
　　　　　　　break;<br />
　　　　　　case TraceLevel.Warning:<br />
　　　　　　　LogEntryType = EventLogEntryType.Warning;<br />
　　　　　　　break;<br />
　　　　　　case TraceLevel.Info:<br />
　　　　　　　LogEntryType = EventLogEntryType.Information;<br />
　　　　　　　break;<br />
　　　　　　case TraceLevel.Verbose:<br />
　　　　　　　LogEntryType = EventLogEntryType.SuccessAudit;<br />
　　　　　　　break;<br />
　　　　　　default:<br />
　　　　　　　LogEntryType = EventLogEntryType.SuccessAudit;<br />
　　　　　　　break;<br />
　　　　　}<br />
　　　　　EventLog eventLog = new EventLog(&#8220;Application&#8221;,<br />
ApplicationConfiguration.EventLogMachineName,<br />
ApplicationConfiguration.EventLogSourceName );<br />
　　　　　//寫入事件日誌<br />
　　　　　eventLog.WriteEntry(messageText, LogEntryType);<br />
　　　　}<br />
　　　catch {} //忽略任何Exception<br />
　　}<br />
　} //class ApplicationLog<br />
}</p>
<p>12.Panel 橫向捲軸，縱向自動擴展<br />
＜asp:panel style=&#8221;overflow-x:scroll;overflow-y:auto;&#8221;＞＜/asp:panel＞<br />
　　<br />
13.回車轉換成Tab<br />
＜script language=&#8221;javascript&#8221; for=&#8221;document&#8221; event=&#8221;onkeydown&#8221;＞<br />
　if(event.keyCode==13 &#038;&#038; event.srcElement.type!=’button’ &#038;&#038;<br />
event.srcElement.type!=’submit’ &#038;&#038; 　　　　event.srcElement.type!=’reset’ &#038;&#038;<br />
event.srcElement.type!=’’&#038;&#038; event.srcElement.type!=’textarea’);<br />
　　　event.keyCode=9;<br />
＜/script＞<br />
onkeydown=&#8221;if(event.keyCode==13) event.keyCode=9&#8243;</p>
<p>14.DataGrid超級連接列<br />
DataNavigateUrlField=&#8221;欄位名&#8221;<br />
DataNavigateUrlFormatString=&#8221;http://xx/inc/delete.aspx?ID={0}&#8221;</p>
<p>15.DataGrid行隨滑鼠變色<br />
private void DGzf_ItemDataBound(object sender,<br />
System.Web.UI.WebControls.DataGridItemEventArgs e)<br />
{<br />
　if (e.Item.ItemType!=ListItemType.Header)<br />
　{<br />
　　e.Item.Attributes.Add(<br />
&#8220;onmouseout&#8221;,&#8221;this.style.backgroundColor=&#8221;"+e.Item.Style["BACKGROUND-COLOR"]+&#8221;"&#8221;);<br />
　　e.Item.Attributes.Add( &#8220;onmouseover&#8221;,&#8221;this.style.backgroundColor=&#8221;"+<br />
&#8220;#EFF3F7&#8243;+&#8221;"&#8221;);<br />
　}<br />
}</p>
<p>16.範本列<br />
＜ASP:TEMPLATECOLUMN visible=&#8221;False&#8221; sortexpression=&#8221;demo&#8221; headertext=&#8221;ID&#8221;＞<br />
＜ITEMTEMPLATE＞<br />
＜ASP:LABEL text=’＜%# DataBinder.Eval(Container.DataItem, &#8220;ArticleID&#8221;)%＞’<br />
runat=&#8221;server&#8221; width=&#8221;80%&#8221; id=&#8221;lblColumn&#8221; /＞<br />
＜/ITEMTEMPLATE＞<br />
＜/ASP:TEMPLATECOLUMN＞<br />
＜ASP:TEMPLATECOLUMN headertext=&#8221;選中&#8221;＞<br />
＜HEADERSTYLE wrap=&#8221;False&#8221; horizontalalign=&#8221;Center&#8221;＞＜/HEADERSTYLE＞<br />
＜ITEMTEMPLATE＞<br />
＜ASP:CHECKBOX id=&#8221;chkExport&#8221; runat=&#8221;server&#8221; /＞<br />
＜/ITEMTEMPLATE＞<br />
＜EDITITEMTEMPLATE＞<br />
＜ASP:CHECKBOX id=&#8221;chkExportON&#8221; runat=&#8221;server&#8221; enabled=&#8221;true&#8221; /＞<br />
＜/EDITITEMTEMPLATE＞<br />
＜/ASP:TEMPLATECOLUMN＞<br />
　　<br />
Code Behind File程式碼<br />
protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)<br />
{<br />
　//改變列的選定，實現全選或全不選。<br />
　CheckBox chkExport ;<br />
　if( CheckAll.Checked)<br />
　{<br />
　　foreach(DataGridItem oDataGridItem in MyDataGrid.Items)<br />
　　{<br />
　　　chkExport = (CheckBox)oDataGridItem.FindControl(&#8220;chkExport&#8221;);<br />
　　　chkExport.Checked = true;<br />
　　}<br />
　}<br />
　else<br />
　{<br />
　　foreach(DataGridItem oDataGridItem in MyDataGrid.Items)<br />
　　{<br />
　　　chkExport = (CheckBox)oDataGridItem.FindControl(&#8220;chkExport&#8221;);<br />
　　　chkExport.Checked = false;<br />
　　}<br />
　}<br />
}　　</p>
<p>17.數位格式化<br />
　　【＜%#Container.DataItem(&#8220;price&#8221;)%＞的結果是500.0000，怎樣格式化為500.00?】<br />
＜%#Container.DataItem(&#8220;price&#8221;,&#8221;{0:￥#,##0.00}&#8221;)%＞<br />
int i=123456;<br />
string s=i.ToString(&#8220;###,###.00&#8243;);</p>
<p>18.日期格式化<br />
　　【aspx頁面內：＜%# DataBinder.Eval(Container.DataItem,&#8221;Company_Ureg_Date&#8221;)%＞<br />
　　顯示為： 2004-8-11 19:44:28<br />
　　我只想要：2004-8-11 】<br />
＜%# DataBinder.Eval(Container.DataItem,&#8221;Company_Ureg_Date&#8221;,&#8221;{0:yyyy-M-d}&#8221;)%＞<br />
　　應該如何改？<br />
　　【格式化日期】<br />
　　取出來,一般是object((DateTime)objectFromDB).ToString(&#8220;yyyy-MM-dd&#8221;);</p>
<p>　　【日期的驗證運算式】<br />
　　A.以下正確的輸入格式： [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]<br />
^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(s(((0?[1-9])|(1[0-2])):([0-5][0-9])((s)|(:([0-5][0-9])s))([AM|PM|am|pm]{2,2})))?$</p>
<p>　　B.以下正確的輸入格式：[0001-12-31], [9999 09 30], [2002/03/03]<br />
^d{4}[-/s]?((((0[13578])|(1[02]))[-/s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[-/s]?(([0-2][0-9])|(30)))|(02[-/s]?[0-2][0-9]))$ </p>
<p>　　【大小寫轉換】<br />
HttpUtility.HtmlEncode(string);<br />
HttpUtility.HtmlDecode(string) </p>
<p>19.如何設定全域變數<br />
　　Global.asax中<br />
　　Application_Start()事件中<br />
　　添加Application[屬性名] ＝ xxx;<br />
　　就是你的全域變數</p>
<p>20.怎樣作到HyperLinkColumn生成的連接後，點擊連接，打開新視窗？<br />
　　HyperLinkColumn有個屬性Target,將值設置成&#8221;_blank&#8221;即可.(Target=&#8221;_blank&#8221;)<br />
　　【ASPNETMENU】點擊功能表項彈出新視窗<br />
　　在你的menuData.xml檔的菜單項中加入URLTarget=&#8221;_blank&#8221;，如：<br />
＜?xml version=&#8221;1.0&#8243; encoding=&#8221;GB2312&#8243;?＞<br />
＜MenuData ImagesBaseURL=&#8221;images/&#8221;＞<br />
＜MenuGroup＞<br />
＜MenuItem Label=&#8221;內參信息&#8221; URL=&#8221;Infomation.aspx&#8221; ＞<br />
＜MenuGroup ID=&#8221;BBC&#8221;＞<br />
＜MenuItem Label=&#8221;公告資訊&#8221; URL=&#8221;Infomation.aspx&#8221; URLTarget=&#8221;_blank&#8221;<br />
LeftIcon=&#8221;file.gif&#8221;/＞<br />
＜MenuItem Label=&#8221;編制資訊簡報&#8221; URL=&#8221;NewInfo.aspx&#8221; LeftIcon=&#8221;file.gif&#8221; /＞</p>
<p>&#8230;&#8230;</p>
<p>21.讀取DataGrid控制項TextBox值<br />
foreach(DataGrid dgi in yourDataGrid.Items)<br />
{<br />
　TextBox tb = (TextBox)dgi.FindControl(&#8220;yourTextBoxId&#8221;);<br />
　tb.Text&#8230;.<br />
}</p>
<p>23.在DataGrid中有3個範本列包含Textbox分別為 DG_ShuLiang (數量) DG_DanJian(單價)<br />
DG_JinE(金額)分別在5.6.7列，要求在錄入數量及單價的時候自動算出金額即:數量*單價=金額還要求錄入時限制為<br />
數值型.我如何用用戶端Script實現這個功能?<br />
　　〖思歸〗</p>
<p>＜asp:TemplateColumn HeaderText=&#8221;數量&#8221;＞<br />
＜ItemTemplate＞<br />
＜asp:TextBox id=&#8221;ShuLiang&#8221; runat=’server’ Text=’＜%#<br />
DataBinder.Eval(Container.DataItem,&#8221;DG_ShuLiang&#8221;)%＞’<br />
onkeyup=&#8221;javascript:DoCal()&#8221;<br />
/＞<br />
＜asp:RegularExpressionValidator id=&#8221;revS&#8221; runat=&#8221;server&#8221;<br />
ControlToValidate=&#8221;ShuLiang&#8221; ErrorMessage=&#8221;must be integer&#8221;<br />
ValidationExpression=&#8221;^d+$&#8221; /＞<br />
＜/ItemTemplate＞<br />
＜/asp:TemplateColumn＞</p>
<p>＜asp:TemplateColumn HeaderText=&#8221;單價&#8221;＞<br />
＜ItemTemplate＞<br />
＜asp:TextBox id=&#8221;DanJian&#8221; runat=’server’ Text=’＜%#<br />
DataBinder.Eval(Container.DataItem,&#8221;DG_DanJian&#8221;)%＞’<br />
onkeyup=&#8221;javascript:DoCal()&#8221;<br />
/＞<br />
＜asp:RegularExpressionValidator id=&#8221;revS2&#8243; runat=&#8221;server&#8221;<br />
ControlToValidate=&#8221;DanJian&#8221; ErrorMessage=&#8221;must be numeric&#8221;<br />
ValidationExpression=&#8221;^d+(.d*)?$&#8221; /＞<br />
＜/ItemTemplate＞<br />
＜/asp:TemplateColumn＞<br />
＜asp:TemplateColumn HeaderText=&#8221;金額&#8221;＞<br />
＜ItemTemplate＞<br />
＜asp:TextBox id=&#8221;JinE&#8221; runat=’server’ Text=’＜%#<br />
DataBinder.Eval(Container.DataItem,&#8221;DG_JinE&#8221;)%＞’ /＞<br />
＜/ItemTemplate＞<br />
＜/asp:TemplateColumn＞＜script language=&#8221;javascript&#8221;＞<br />
function DoCal()<br />
{<br />
　var e = event.srcElement;<br />
　var row = e.parentNode.parentNode;<br />
　var txts = row.all.tags(&#8220;INPUT&#8221;);<br />
　if (!txts.length || txts.length ＜ 3)<br />
　　return;<br />
　var q = txts[txts.length-3].value;<br />
　var p = txts[txts.length-2].value;<br />
　if (isNaN(q) || isNaN(p))<br />
　　return;<br />
　q = parseInt(q);<br />
　p = parseFloat(p);<br />
　txts[txts.length-1].value = (q * p).toFixed(2);<br />
}<br />
＜/script＞</p>
<p>24.datagrid選定比較底下的行時，為什麼總是刷新一下，然後就捲軸到了最上面，剛才選定的行因螢幕的關係就看不到了。<br />
page_load<br />
page.smartNavigation=true<br />
　　<br />
25.在Datagrid中修改資料，當點擊編輯鍵時，資料出現在TextBox中，怎麼控制TextBox的大小 ?<br />
private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e)<br />
{<br />
　for(int i=0;i＜e.Item.Cells.Count-1;i++)<br />
　　if(e.Item.ItemType==ListItemType.EditType)<br />
　　{<br />
　　　e.Item.Cells[i].Attributes.Add(&#8220;Width&#8221;, &#8220;80px&#8221;)<br />
　　}<br />
}</p>
<p>26.對話方塊<br />
private static string ScriptBegin = &#8220;＜script language=&#8221;JavaScript&#8221;＞&#8221;;<br />
private static string ScriptEnd = &#8220;＜/script＞&#8221;;<br />
public static void ConfirmMessageBox(string PageTarget,string Content)<br />
{<br />
　string ConfirmContent=&#8221;var<br />
retValue=window.confirm(’&#8221;+Content+&#8221;’);&#8221;+&#8221;if(retValue){window.location=’&#8221;+PageTarget+&#8221;’;}&#8221;;<br />
　ConfirmContent=ScriptBegin + ConfirmContent + ScriptEnd;<br />
　Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;<br />
　ParameterPage.RegisterStartupScript(&#8220;confirm&#8221;,ConfirmContent);<br />
　//Response.Write(strScript);<br />
}<br />
27. 將時間格式化：string aa=DateTime.Now.ToString(&#8220;yyyy年MM月dd日&#8221;);<br />
1.1 取當前年月日時分秒<br />
currentTime=System.DateTime.Now;<br />
1.2 取當前年<br />
int 年= DateTime.Now.Year;<br />
1.3 取當前月<br />
int 月= DateTime.Now.Month;<br />
1.4 取當前日<br />
int 日= DateTime.Now.Day;<br />
1.5 取當前時<br />
int 時= DateTime.Now.Hour;<br />
1.6 取當前分<br />
int 分= DateTime.Now.Minute;<br />
1.7 取當前秒<br />
int 秒= DateTime.Now.Second;<br />
1.8 取當前毫秒<br />
int 毫秒= DateTime.Now.Millisecond; </p>
<p>28．自定義分頁程式碼：<br />
先定義變數 ：<br />
public static int pageCount; //總頁面數<br />
public static int curPageIndex=1; //當前頁面<br />
　　<br />
下一頁：<br />
if(DataGrid1.CurrentPageIndex ＜ (DataGrid1.PageCount &#8211; 1))<br />
{<br />
　DataGrid1.CurrentPageIndex += 1;<br />
　curPageIndex+=1;<br />
}<br />
bind(); // DataGrid1資料綁定函數<br />
上一頁：<br />
if(DataGrid1.CurrentPageIndex ＞0)<br />
{<br />
　DataGrid1.CurrentPageIndex += 1;<br />
　curPageIndex-=1;<br />
} </p>
<p>bind(); // DataGrid1資料綁定函數<br />
直接頁面跳轉：<br />
int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()為跳轉值<br />
if(a＜DataGrid1.PageCount)<br />
{<br />
　this.DataGrid1.CurrentPageIndex=a;<br />
}<br />
bind(); </p>
<p>29．DataGrid使用：<br />
添加刪除確認：<br />
private void DataGrid1_ItemCreated(object sender,<br />
System.Web.UI.WebControls.DataGridItemEventArgs e)<br />
{<br />
　foreach(DataGridItem di in this.DataGrid1.Items)<br />
　{<br />
　　if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)<br />
　　{<br />
　　　((LinkButton)di.Cells[8].Controls[0]).Attributes.Add(&#8220;onclick&#8221;,&#8221;return<br />
confirm(’確認刪除此項嗎?’);&#8221;);<br />
　　}<br />
　}<br />
} </p>
<p>樣式交替：<br />
ListItemType itemType = e.Item.ItemType;<br />
if (itemType == ListItemType.Item )<br />
{ </p>
<p>　e.Item.Attributes["onmouseout"]=&#8221;javascript:this.style.backgroundColor=’#FFFFFF’;&#8221;; </p>
<p>　e.Item.Attributes["onmouseover"]=&#8221;javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;&#8221;<br />
; </p>
<p>} </p>
<p>else if( itemType == ListItemType.AlternatingItem)<br />
{<br />
　e.Item.Attributes["onmouseout"]=&#8221;javascript:this.style.backgroundColor=’#a0d7c4’;&#8221;; </p>
<p>　e.Item.Attributes["onmouseover"]=&#8221;javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;&#8221;<br />
;<br />
}<br />
　<br />
添加一個編號列：<br />
DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //執行sql返回的DataTable </p>
<p>DataColumn dc=dt.Columns.Add(&#8220;number&#8221;,System.Type.GetType(&#8220;System.String&#8221;));<br />
for(int i=0;i＜dt.Rows.Count;i++)<br />
{<br />
　dt.Rows[i]["number"]=(i+1).ToString();<br />
}<br />
DataGrid1.DataSource=dt; </p>
<p>DataGrid1.DataBind();<br />
　　DataGrid1中添加一個CheckBox，頁面中添加一個全選框<br />
private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)<br />
{<br />
　foreach(DataGridItem thisitem in DataGrid1.Items)<br />
　{<br />
　　((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;<br />
　}<br />
}<br />
將當前頁面中DataGrid1顯示的資料全部刪除<br />
foreach(DataGridItem thisitem in DataGrid1.Items)<br />
{<br />
　if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)<br />
　{<br />
　　string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();<br />
　　Del (strloginid); //刪除函數<br />
　}<br />
} </p>
<p>30．當然在不同目錄下，需要獲取資料庫連接字串（如果連接字串放在Web.config，然後在Global.asax中初始化）<br />
在Application_Start中添加以下程式碼：<br />
Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.<br />
　　　AppSettings["ConnStr"].ToString();</p>
<p>31． 變數.ToString()<br />
字元型轉換 轉為字串<br />
12345.ToString(&#8220;n&#8221;); //生成 12,345.00 </p>
<p>12345.ToString(&#8220;C&#8221;); //生成 ￥12,345.00 </p>
<p>12345.ToString(&#8220;e&#8221;); //生成 1.234500e+004<br />
12345.ToString(&#8220;f4&#8243;); //生成 12345.0000<br />
12345.ToString(&#8220;x&#8221;); //生成 3039 (16進制)<br />
12345.ToString(&#8220;p&#8221;); //生成 1,234,500.00%　　</p>
<p>32、變數.Substring(參數1,參數2);<br />
截取字串的一部分，參數1為左起始位數，參數2為截取幾位。 如：string s1 = str.Substring(0,2);<br />
33．在自己的網站上登錄其他網站：(如果你的頁面是通過內嵌方式的話，因為一個頁面只能有一個FORM，這時可以導向另外一個頁面再送出登錄資訊)<br />
＜SCRIPT language=&#8221;javascript&#8221;＞<br />
＜!&#8211;<br />
　function gook(pws)<br />
　{<br />
　　frm.submit();<br />
　}<br />
//&#8211;＞<br />
＜/SCRIPT＞ ＜body leftMargin=&#8221;0&#8243; topMargin=&#8221;0&#8243; onload=&#8221;javascript:gook()&#8221;<br />
marginwidth=&#8221;0&#8243; marginheight=&#8221;0&#8243;＞<br />
＜form name=&#8221;frm&#8221; action=&#8221; http://220.194.55.68:6080/login.php?retid=7259 &#8221;<br />
method=&#8221;post&#8221;＞<br />
＜tr＞<br />
＜td＞<br />
＜input id=&#8221;f_user&#8221; type=&#8221;hidden&#8221; size=&#8221;1&#8243; name=&#8221;f_user&#8221; runat=&#8221;server&#8221;＞<br />
＜input id=&#8221;f_domain&#8221; type=&#8221;hidden&#8221; size=&#8221;1&#8243; name=&#8221;f_domain&#8221; runat=&#8221;server&#8221;＞<br />
＜input class=&#8221;box&#8221; id=&#8221;f_pass&#8221; type=&#8221;hidden&#8221; size=&#8221;1&#8243; name=&#8221;pwshow&#8221;<br />
runat=&#8221;server&#8221;＞<br />
＜INPUT id=&#8221;lng&#8221; type=&#8221;hidden&#8221; maxLength=&#8221;20&#8243; size=&#8221;1&#8243; value=&#8221;5&#8243; name=&#8221;lng&#8221;＞<br />
＜INPUT id=&#8221;tem&#8221; type=&#8221;hidden&#8221; size=&#8221;1&#8243; value=&#8221;2&#8243; name=&#8221;tem&#8221;＞<br />
＜/td＞<br />
＜/tr＞<br />
＜/form＞<br />
　　TextBox的名稱必須是你要登錄的網頁上的名稱，如果程式碼不行可以用vsniffer 看看。<br />
　　下面是獲取用戶輸入的登錄資訊的程式碼：<br />
string name;<br />
name=Request.QueryString["EmailName"];<br />
try<br />
{<br />
　int a=name.IndexOf(&#8220;@&#8221;,0,name.Length);<br />
　f_user.Value=name.Substring(0,a);<br />
　f_domain.Value=name.Substring(a+1,name.Length-(a+1));<br />
　f_pass.Value=Request.QueryString["Psw"];<br />
}<br />
catch<br />
{<br />
　Script.Alert(&#8220;錯誤的郵件!&#8221;);<br />
　Server.Transfer(&#8220;index.aspx&#8221;);<br />
} </p>
<p>最好將你的aspnetmenu升級到1.2版</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.go-x.net%2Fblog%2F2010%2F04%2F13%2Fasp-net%25e7%25a8%258b%25e5%25bc%258f%25e4%25b8%25ad%25e5%25b8%25b8%25e7%2594%25a8%25e7%259a%258433%25e7%25a8%25ae%25e7%25a8%258b%25e5%25bc%258f%25e7%25a2%25bc%2F&amp;t=ASP.NET%E7%A8%8B%E5%BC%8F%E4%B8%AD%E5%B8%B8%E7%94%A8%E7%9A%8433%E7%A8%AE%E7%A8%8B%E5%BC%8F%E7%A2%BC%20" id="facebook_share_button_9" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_9') || document.getElementById('facebook_share_icon_9') || document.getElementById('facebook_share_both_9') || document.getElementById('facebook_share_button_9');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_9') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://blog.go-x.net/blog/2010/04/13/asp-net%e7%a8%8b%e5%bc%8f%e4%b8%ad%e5%b8%b8%e7%94%a8%e7%9a%8433%e7%a8%ae%e7%a8%8b%e5%bc%8f%e7%a2%bc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filter A GridView After The Initial Bind</title>
		<link>http://blog.go-x.net/blog/2010/04/13/filter-a-gridview-after-the-initial-bind/</link>
		<comments>http://blog.go-x.net/blog/2010/04/13/filter-a-gridview-after-the-initial-bind/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 06:17:19 +0000</pubDate>
		<dc:creator>webmaster</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[.NET Languages .NET Valley Architecture Design Patterns and Testing ASP.NET ASP.NET and ASP.NET MVC ASP.NET MVC ASP.NET.NET Books Browsers Business Community News Conference Content Management Server ]]></category>
		<category><![CDATA[ASP.NET and ASP.NET MVC]]></category>
		<category><![CDATA[General Software Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://blog.go-x.net/blog/?p=3</guid>
		<description><![CDATA[Filter A GridView After The Initial Bind One of the goals that Microsoft has really pushed for in ASP.NET 2.0 is saving the amount of coding necessary to perform common tasks such as data access. On a recent project, I needed the ability to filter the results on a GridView control after I returned the [...]]]></description>
			<content:encoded><![CDATA[<p>Filter A GridView After The Initial Bind</p>
<p>One of the goals that Microsoft has really pushed for in ASP.NET 2.0 is saving the amount of coding necessary to perform common tasks such as data access. On a recent project, I needed the ability to filter the results on a GridView control after I returned the results from my datasource. To accomplish this, I added a DropDownList and set the AutoPostBack property on the DropDownList to True. I added two values to the list; one that showed all of the results, and one that showed the filtered result set which in my case was a list of exceptions. I also added a SqlDataSource object called MySqlDataSource. I set the OnChange event to a subroutine similar to below:</p>
<p>Private Sub FilterDropDownList_Change(s as Object, e as EventArgs)<br />
If FilterDropDownList.SelectedValue = &#8220;Filter&#8221; then<br />
MySqlDataSource.FilterExpression = &#8220;MyColumn=1&#8243;<br />
Else<br />
MySqlDataSource.FilterExpression = &#8220;&#8221;<br />
End If</p>
<p>MyGridView.DataBind<br />
End Sub</p>
<p>I added the sub MyGridView.DataBind to the subroutine because this subroutine occurs after the SqlDataSource object is created and the resultset is filled. In reality, you only need to perform the MyGridView.DataBind when the FilterExpression value is set to something other than &#8220;&#8221;.</p>
<p>From</p>
<p>http://weblogs.asp.net/jgaylord/archive/2006/05/31/Filter-A-GridView-After-The-Initial-Bind.aspx</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.go-x.net%2Fblog%2F2010%2F04%2F13%2Ffilter-a-gridview-after-the-initial-bind%2F&amp;t=Filter%20A%20GridView%20After%20The%20Initial%20Bind" id="facebook_share_button_3" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_3') || document.getElementById('facebook_share_icon_3') || document.getElementById('facebook_share_both_3') || document.getElementById('facebook_share_button_3');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_3') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://blog.go-x.net/blog/2010/04/13/filter-a-gridview-after-the-initial-bind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

