星期三, 9月 30, 2009

DateTime using C#

整理一下datatime常用到的方法
DateTime dt = DateTime.Now;
Label1.Text = dt.ToString();//2005-11-5 13:21:25
Label2.Text = dt.ToFileTime().ToString();//127756416859912816
Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816
Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25
Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日
Label6.Text = dt.ToLongTimeString().ToString();//13:21:25
Label7.Text = dt.ToOADate().ToString();//38661.5565508218
Label8.Text = dt.ToShortDateString().ToString();//2005-11-5
Label9.Text = dt.ToShortTimeString().ToString();//13:21
Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25

Label1.Text = dt.Year.ToString();//2005
Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00
Label3.Text = dt.DayOfWeek.ToString();//Saturday
Label4.Text = dt.DayOfYear.ToString();//309
Label5.Text = dt.Hour.ToString();//13
Label6.Text = dt.Millisecond.ToString();//441
Label7.Text = dt.Minute.ToString();//30
Label8.Text = dt.Month.ToString();//11
Label9.Text = dt.Second.ToString();//28
Label10.Text = dt.Ticks.ToString();//632667942284412864
Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864

Label1.Text = dt.ToString();//2005-11-5 13:47:04
Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04
Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04
Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
Label10.Text = dt.CompareTo(dt).ToString();//0
Label11.Text = dt.Add(?).ToString();//问号为一个时间段

Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False
Label2.Text = dt.Equals(dt).ToString();//True
Label3.Text = dt.GetHashCode().ToString();//1474088234
Label4.Text = dt.GetType().ToString();//System.DateTime
Label5.Text = dt.GetTypeCode().ToString();//DateTime
Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25
Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//14:06
Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年11月
Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05
Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05
Label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日
Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日
Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06
Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06
Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT
Label1.Text = string.Format("{0:d}",dt);//2005-11-5
Label2.Text = string.Format("{0:D}",dt);//2005年11月5日
Label3.Text = string.Format("{0:f}",dt);//2005年11月5日 14:23
Label4.Text = string.Format("{0:F}",dt);//2005年11月5日 14:23:23
Label5.Text = string.Format("{0:g}",dt);//2005-11-5 14:23
Label6.Text = string.Format("{0:G}",dt);//2005-11-5 14:23:23
Label7.Text = string.Format("{0:M}",dt);//11月5日
Label8.Text = string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
Label9.Text = string.Format("{0:s}",dt);//2005-11-05T14:23:23
Label10.Text  string.Format("{0:t}",dt);//14:23
Label11.Text = string.Format("{0:T}",dt);//14:23:23
Label12.Text = string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
Label13.Text = string.Format("{0:U}",dt);//2005年11月5日 6:23:23
Label14.Text = string.Format("{0:Y}",dt);//2005年11月
Label15.Text = string.Format("{0}",dt);//2005-11-5 14:23:23
Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}",dt);String Format for DateTime [C#]
C# datetime 操作
C#如何判断两个日期是否相等
C# 如何取得兩個 DateTime 日期之間的天數

Pass NULL as a Parameter Value to SQLParameter

The following c# code sample shows how to pass Null as a parameter value.
SqlParameter ParamValue= new SqlParameter("@Address", SqlDbType.NVarChar, 20);
ParamValue.Value = DBNull.Value;
Reference:Pass NULL as a Parameter Value to SQLParameter

星期二, 9月 29, 2009

星期四, 9月 24, 2009

MS SQL 重覆性資料表處理 Repeat rows ,Group by

第一篇:
--出現多筆時抓取最大值
Select 欄位一,max(欄位二) 欄位二
From Table
Group By 欄位一
--出現多筆時抓取最小值
Select 欄位一,min(欄位二) 欄位二
From Table
Group By 欄位一

星期三, 9月 23, 2009

MS SQL DATEDIFF(計算兩時間差)

使用Convert、DATEDIFF 函數求得時間差
SELECT design_product_comment_id, design_product_comment_pid, design_product_comment_username, design_product_comment_text,
design_product_comment_category,
CONVERT(varchar(4), DATEDIFF(day, design_product_comment_date, GETDATE())) AS Days, CONVERT(varchar(4), DATEDIFF(hour, design_product_comment_date, GETDATE()) % 24) AS Hours,
CONVERT(varchar(4), DATEDIFF(minute, design_product_comment_date, GETDATE()) % 60) AS Mins
FROM design_product_comment
WHERE (design_product_comment_pid = @dpid) AND (design_product_comment_category = @cid)"

Jquery plugin : Slider Content

Build a Content Slider with jQuery(詳細介紹)

Content Slider Demonstration(範例)
發佈文章

星期一, 9月 21, 2009

MS Sql 迴圈

ALTER proc [dbo].[sp_showDesignProducts]
as
/*宣告cursor*/
declare dpid_set CURSOR FOR
SELECT DISTINCT design_product_id FROM design_product

/*開啟cursor連結*/
open dpid_set

declare @dpid nvarchar(50)
/*清單將第一筆資料存入@dpid*/
fetch next from dpid_set into @dpid
/*檢查是否有資料,0代表有*/
while(@@fetch_status=0)
begin
/*取出每一筆專案id其所屬的上傳圖片的第一張圖*/
SELECT allResult.* FROM (
SELECT row_number() OVER (ORDER BY design_product_pictures_id) AS rid, * FROM design_product_pictures WHERE (design_product_pictures_pid = @dpid)) as allResult
where allResult.rid = 1
fetch NEXT from dpid_set into @dpid
end
/*關閉cursor連結*/
close dpid_set
/*移除cursor連結*/
deallocate dpid_set

JQUERY-Each


//jquery each func 初試
//btn set,找出表格被勾選的checkbox
$("#btnCommentDelete").click(function() {
var valSet = "";
$("#ctl00_ContentPlaceHolder1_gvComment input:enabled[type=checkbox]").each(function(i, obj) {
if ($(obj).attr("id") == "cbAllComment") {
}
else {
valSet += $(obj).attr("value") + ',';
//移除表格列
$(obj).parents("#ctl00_ContentPlaceHolder1_gvComment tr").remove();
}
});
alert(valSet);
if (valSet != "") {
$.get("comment_delete.aspx", { cidset: valSet }, function(data) {
alert(data);
});
}
else {
Boxy.alert("No Data");
}
});

String Split

//1,2,3,4,5
string[] commentSet = commentValStr.Split(new char[]{','});//['1','2','3','4','5']

星期日, 9月 20, 2009

使用Profile.GetProfile()取得指定帳戶的Profile

///
/// 取得profile 暱稱
///

///
///
public string GetNickName(string username)
{
//MembershipUser currecter;
//currecter = Membership.GetUser(username);
string nickname = "未公開";

ProfileCommon pc = Profile.GetProfile(username);
string tmp = pc.個人資訊.暱稱;
if (tmp != "")
nickname = tmp;

return nickname;
}

星期五, 9月 18, 2009

Calendar Extender for select month

選擇月份的月曆Calendar Extender ~

How to show and select month/year in Calendar Extender by aghausman

測試結果一切正常,有需要的朋友參考吧~


Reference:
http://www.aghausman.net/asp/how-to-show-and-select-monthyear-in-calendar-extender.html

MSSQL 取得目前新增資料的索引(PK)

取出當前新增資料的索引。

語法如下:
string sql = "insert into pictures_annotation (pictures_annotation_top,pictures_annotation_left,pictures_annotation_width,pictures_annotation_height,pictures_annotation_text,pictures_annotation_pid,pictures_annotation_username,pictures_annotation_date)values(@top,@left,@width,@height,@text,@pid,@username,@date);select @NewPK = @@IDENTITY";

this.sqlConn.Open();
this.sqlCmd = new SqlCommand(sql, this.sqlConn);

this.sqlCmd.Parameters.Add("top", SqlDbType.Int).Value = (int)Convert.ToDouble(top);
this.sqlCmd.Parameters.Add("left", SqlDbType.Int).Value = (int)Convert.ToDouble(left);
....
.......省略
SqlParameter pkPara = new SqlParameter("NewPK",SqlDbType.Int);
pkPara.Direction = ParameterDirection.Output;
this.sqlCmd.Parameters.Add(pkPara);

this.sqlCmd.ExecuteNonQuery();

this.sqlConn.Close();
//get current aid
aid = this.sqlCmd.Parameters["NewPK"].Value.ToString();

有關SiteMap SiteMapNode Root問題

今天為了讓menu control能套上美美的css,
使用了ASP.NET 2.0 CSS Friendly Control Adapters 1.0
因為第一次使用sitemap,雖然知道根節點只能設一個,但我要能一開始就能秀很多選項,
原來是要設定將根節點hidden就好啦~

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="#" title="根節點" description="不會顯示">
....
</siteMap>


<!--
sitemap角色權限讀取 securityTrimmingEnabled="true"
-->
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider" description="SiteMap provider which reads in .sitmap XML files."
type="System.Web.XmlSiteMapProvider,System.Web,Version=2.0.3600.0, Culture= neutral,PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="Web.sitemap" securityTrimmingEnabled="true"/>
</providers>
</siteMap>


Reference:
TreeView使用SiteMapNode製作結點,root只能有一個嗎?
淺介 ASP.NET 2.0 CSS Friendly Control Adapters 1.0

[Javascript 茶包筆記] setTimeout 倒數計數

專案需用到倒數計數的功能,
以下是一個簡單的測試版本,
另外又在網上找到一個將秒數轉時分秒(TimeToHMS)
javascript func。

script範例程式如下:

//20分鐘
var allTime = 1200000;
$(document).ready(function(){
$("#myDiv").css("border","3px solid red");
DoTestCount();
});

function DoTestCount()
{
if(allTime <= 0){
//dopostback

__doPostBack(this.btnSubmit,"")
}
else
{
var timeTmp = allTime/1000;
var currentTimeHMS = TimeToHMS(timeTmp)
$("#myDiv").text(currentTimeHMS)
setTimeout("DoTestCount()",1000);
}
allTime-=1000;
}

/* convert seconds value to H:MM:SS format */
function TimeToHMS(seconds)
{
sec = seconds % 60;
temp = ( seconds - sec ) / 60;

minute = temp % 60;
hour = (temp - minute) / 60;

if(!(isFinite(sec) && isFinite(minute) && isFinite(hour))) /* invalid time */
{
return ("");
}

time_str = hour;
time_str += ":";
time_str+=(minute<10)?("0"+minute):minute;
time_str+=":";
time_str+=(sec<10)?("0"+sec):sec;

return (time_str);
}

網頁配置如下:

Asp.NET buttom doPostBack

今天剛好要用到倒數時間來觸發button 的click事件,
才發現原來頁面上配置button時,
原來是不會自動產生__doPoskBack這個func
要自已加入

if(!IsPostBack)
this.Page.GetPostBackEventReference(this.btnSubmit, "");

MS SQL 更改SA帳號密碼

開啟SQL Server Management Studio,「安全性」->「登入」->右邊的「SA」按右鍵,選屬性,就可以改了。
1. sp_droplogin:移除 Microsoft SQL Server 登入,防止以該登入名稱存取 SQL Server 的執行個體。
2. sp_addlogin:建立一項新的 SQL Server 登入,讓使用者利用 SQL Server 驗證來連接 SQL Server 的執行個體。
3. sp_grantdbaccess:將資料庫使用者加入目前資料庫中。
4. sp_revokedbaccess:從目前資料庫移除資料庫使用者。

Reference:
http://msdn.microsoft.com/zh-tw/library/ms174428.aspx
http://msdn.microsoft.com/zh-tw/library/ms162806.aspx

星期三, 9月 02, 2009

Url Rewriting Survey

URL rewrite 的幾種做法 By 艾倫郭
以下為Url Rewriting的幾種做法:

Approach 1: Use Request.PathInfo Parameters Instead of QueryStrings

Approach 2: Using an HttpModule to Perform URL Rewriting

Approach 3: Using an HttpModule to Perform Extension-Less URL Rewriting with IIS7

Approach 4: ISAPIRewrite to enable Extension-less URL Rewriting for IIS5 and IIS6

瓶水相逢.Net

簡易的 Url Rewriting 隱藏 Querystring

簡易的 Url Rewriting 隱藏 Querystring (二) IIS 注意事項

簡易的 Url Rewriting 隱藏 Querystring (三) 隱藏副檔名

Asp.net 維持postback後的頁面瀏覽位置

請在@page指示詞內加入以下屬性:
MaintainScrollPositionOnPostback="true"

其他你感興趣的文章

Related Posts with Thumbnails