Transact-SQL: DATEPART

直接使用SQL語法就可以在資料庫裡面對資料事先進行很多的處理與篩選,例如要取出時間屬於星期一到五的資料,我們可以利用DATEPART這個函數來處理:

SELECT * FROM posts WHERE DATEPART(weekday, date) BETWEEN 2 AND 6

DATEPART函數裡面第一個參數代表要parse出怎樣的資料、第二個參數則是欄位的名稱。第一個參數有下列選擇:

  • year傳回年份
  • quarter傳回第n季
  • month傳回月份
  • dayofyear傳回一年之中的第幾天
  • day傳回天數
  • week傳回週數
  • weekday傳回星期幾 (星期日是1,星期一是2….星期六是7)
  • hour傳回小時
  • minute傳回分鐘
  • second傳回秒數
  • millisecond

Reference

http://technet.microsoft.com/zh-tw/library/ms174420.aspx

SQL Server:從字元字串轉換到 datetime 時,轉換失敗

剛剛用C#在對資料庫塞資料,SQL語法中有牽涉到日期的處理,因此我是動態來兜SQL語法的,例如:

string strSQL =
    string.Format("SELECT id, title, content FROM posts WHERE ( date < '{0}' )",
          myCalendar.SelectedDate)

// myCalendar是一個萬年曆的物件

沒想到在本機上測試都沒問題,但丟到遠端資料庫時卻會出錯(從字元字串轉換到 datetime 時,轉換失敗),我猜是因為日期的格式出了問題,有可能是語系不同所造成的,總之我將日期的格式轉成下列格式就沒問題啦:p

myCalendar.SelectedDate.toString("yyyy/MM/dd HH:mm:ss"); 

試玩Silverlight

image

由於明天要向老師報告微軟最近吵得相當火熱的技術:Silverlight,今天晚上便臨時抱佛腳找了點資料準備明天報告。(不過事實上這門課我很認真的,只不過最近專題、工作、練功等諸事纏身,不得已只好最後一天犧牲睡眠來做事orz)

首先要說明的是,Silverlight是個「純client端」的技術,你可以把他想像成跟Flash的.swf一樣,放在任何的Web Server上讓使用者取得後,才依賴client端的Runtime Component render出畫面來。

初次接觸Silverlight,除了我的小黑上已經裝有.NET Framework 3.0之外,我還另外裝了Expression Blend 2 Preview(Blend不支援Silverlight開發,必須是Blend2才有)。

稍微翻了點資料之後,目前大概看到Silverlight有以下幾點特色:

  • 以XAML為基礎,動態render畫面(向量文字、2D圖形或影音畫面等)
  • 畫面中的文字是可選取、可被搜尋引擎辨識的 (for SEO purpose :D
  • 具備強大的影音播放能力,號稱擁有高畫質,且畫面縮放不會影響解析度
  • Silverlight Object Model(Silverlight DOM),可使用JavaScript直接操控Silverlight現有元素的屬性或是動態新增元素(這點是讓我覺得最酷的)

之前曾經有短短幾天使用Flex開發Web Application的經驗,當時發現要使用JavaScript來跟Flash互動並不難,透過External Interface似乎就可以讓ActionScript與JavaScript溝通,但是我們當時好像光看到這樣的運作機制就懶得繼續寫下去了XD

沒想到現在Silverlight居然可以讓developer直接使用JavaScript去操控元素,換句話說使用JavaScript就可以同時操控HTML本身的DOM結構,也可以操控Silverlight的DOM,實在是太酷啦!尤其是可以動態新增元素,這一點對開發Silverlight的彈性來說還滿棒的!試想,透過Ajax的機制,從後端動態產生”我想在Silverlight上出現的畫面”,傳回來其實是一串XML(應該說XAML比較精確:P),但他卻會變成在Silverlight上精美的畫面,光想到這樣的運作方式就覺得很興奮,再加上Silverlight是純Client端的技術,改天應該來玩玩看Silverlight on Rails (言下之意是我可能要放棄Flex on Rails了orz)。

不過目前所看到的,如果要在Silverlight畫面上呈現大量資料,好像沒有現成的DataGrid?Third-party開發的應該是有,不過就不像Flex Builder裡面內建一堆可用的controls。Anyway,過幾天有空再以實例來分享使用JavaScript操控Silverlight的程式。

註:目前我都只有看到從Silverlight主動呼叫某個js function的範例,要是可以直接從js去抓到silverlight的element就更有趣了:D是我手殘,雙向互動完全是沒有問題的。

Windows SharePoint Services Web Parts開發資源

整理一些關於如何開發Windows SharePoint Services (WSS)的Web Parts(網頁組件)的連結。

其他相關資源:

jq4r: jQuery on Rails

ericksk說:「既然找不到別人寫的,那就自己寫吧!」,因此他寫了一套jq4r,全名叫jQuery helpers for Rails。真是頗吸引我的,之前用過一陣子的jQuery,感覺還滿好用的,最近不但推出新版還搞了一套jQuery UI,之前在某個日文網站看到的評論稱之為「jQuery’s Scriptaculous」。

anyway,ericsk的文章在此:jq4r – jQuery helpers for Rails

他另外開了一個blog及google code project專門來放jq4r: