2010年5月31日 星期一

SQL IP排序


SELECT *
FROM [Ip_Information]
order by cast(parsename(IP,4) as int),cast(parsename(IP,3) as int) ,cast(parsename(IP,2) as int),cast(parsename(IP,1) as int)

2010年5月27日 星期四

C# Asp.net GridView抓RowIndex

這簡單就是多加這行就好囉

CommandArgument='<%# ((GridViewRow) Container).RowIndex %>'

在Command元件的aspx裡面加
聽不懂喔

<asp:Button ID="GridViewButton" CommandName="GridViewButton" CommandArgument='<%# ((GridViewRow) Container).RowIndex %>' runat="server" Text="Button" CssClass="btnClass" />

這樣懂了吧 XDDD
哈哈
這樣CommandArgument抓出來的就是RowIndex了

C# Asp.net GridView 樣版元件取屬性

很多人應該都跟我一樣 很想要玩GridView的功能
但一直被他很複雜的鬼架構搞的一點都不想摸它 XDDD

最近強迫自己要搞懂它!!!
所以
目前有強烈進展!!!!

先來講講樣板取元件取屬性值吧

首先呢
理論上你會Command去執行它
也就是先用RowCommand去做觸發

阿直接看CODE好了 = =+

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
GridViewRow currentRow = null; //宣告一個GridViewRow
if (e.CommandName == "GridViewButton") //檢查按下去的元件名稱觸發對應事件
{
currentRow = (GridViewRow)((Button)e.CommandSource).NamingContainer; // 將觸發元件整行丟到GridViewRow 裡
Label gridviewlabel1 = ((Label)currentRow.FindControl("GridViewLabel")); //宣告一個Label丟元件
Label1.Text = gridviewlabel1.Text;
}
}


上面最重要就是FindControl囉 就是將GridViewRow裡面找出GridViewLabel這名稱的元件
然後套用進來 這樣gridviewlabel1 所有屬性就=GridViewLabel的屬性囉 ^^
然後就可以直接抓來用了 哈哈 GOOD!!!!

2010年5月24日 星期一

C# LinQ And DataTable

在偷偷推薦一下LinQ的好 XDD
最近都稍稍玩了一下LinQ 好物阿
其實他最重要的是可以把SQL的東西都丟到RAM裡面計算
像我等等講的DataTable 跟 LinQ
將SQL值丟到DataTable後 再用LinQ去查詢
速度快多了!!!!

講太多廢話了
看CODE吧 XDD

DataTable GetSQL= GetTopSQLIP(""); //這是讀SQL 到 DataTable的Code
var results = //LinQ 開始
from DataRow myRow in GetSQL.Rows //因為DataTable要用DataRow
where myRow.Field("IP") == "127.0.0.1"
select myRow;
DataTable LinQDataTable = new DataTable(); //再丟回一個DataTable
try
{
LinQDataTable = results.CopyToDataTable(); //丟到DataTable裡
}
catch
{
}


裡面比較重要就是要查詢DataTable需要多加DataRow
還有 為啥我要用try勒
因為 我發現如果LinQ查完後 如果裡面無值 會發生錯誤!!!
在我怎樣遍尋不到results.Count怎樣弄出來時候
我就用最笨的方式做 = =+
如果發生錯誤就跳過 這樣我檢查DataTable的Count也還是0阿 哈哈哈

PS...YA 找到方法了 要results.Count() 就好囉 XDDD 那麼簡單都不會 囧

C# Parallel.For

上次有講到的Parallel.For
上次拿我的Code來稍稍玩了一下!!!


一些public的部份會被搶奪而造成資料錯亂

所以
寫這個時候真的要很小心 >O<"

2010年5月11日 星期二

VisualStudio2010新功能

多了一個好物!!!
Parallel.For
可以將For依造多執行緒同步執行
這樣執行For時間就變快了XDDD
前提是for前與後是不相關的狀況下
就是可以個別執行的話
用用看吧!! ^^

他是在 System.Threading.Tasks.Parallel.For裡

先紀錄一下
改天來實驗看看 ^^