標籤

C# (4) asp.new (3) R (2) Delphi (1) Dos (1) english (1) music (1)

2013年1月6日 星期日

DOS

批次處理示例
if的用法:
1.檔案是否存在
2.如何將文字存入文字檔
批次處理示例說明
IF NOT EXIST 1.tif ECHO 1.tif >a.txt 如果1.tif 不存在,在a.txt中,刪除所有內容,輸入1.tif
IF NOT EXIST 2.tif ECHO 2.tif >>a.txt如果2.tif 不存在,在a.txt中的最後一行新輸入2.tif
IF NOT EXIST 3.tif ECHO 3.tif >>a.txt如果3.tif 不存在,在a.txt中的最後一行新輸入3.tif
參考:IF NOT EXIST
寫入操作:DOS指令操作: CMD與TXT的互動檢查檔案是否存在(CMD)
CMD保存运行DOS运行结果Batch (DOS)對整個磁碟作搜尋

連續開WINDOWS的檔案
(open severval windows program at the same time by command in windows)
start "" "myfile.txt"
start "" "myshortcut.lnk"
參考(reference):Open text file and program shortcut in Windows batch file
shutdown的DOS指令: shutdown - s -t 3600

21個DOS常用命令

delete all file and folder in special folder
ex:
del /q D:\SVN\99_Export\EmbDesign\*
for /d %%x in (D:\SVN\99_Export\EmbDesign\*) do @rd /s /q "%%x"

You replace the word destination by the path, possibly using quotes around the whole thing if necessary
del /q destination\*
for /d %%x in (destination\*) do @rd /s /q "%%x"

r.f.
http://stackoverflow.com/questions/1502913/how-to-delete-all-files-and-folders-in-a-folder-by-cmd-call

2012年12月11日 星期二

學習資源

線上課程
C# 線上中文資源Kaiching Chang

經典好書
Delphi

DELPHI 2006程式設計範例教本(含資料庫)| 作    者:洪國勝 |出版社:全華圖書股份有限公司|出版日:2007/02/01 | 中興圖書

2012年11月27日 星期二

Asp.net和C#:檔案上傳元件

Asp.net和C#:檔案上傳元件
最常見的為Visual Studio內建的FILEUPLOAD和外卦的SWFUPLOAD。
由於本人開發環境是Visual Studio 2005 ( .NET Framework 2.0),
在此環境下:
一個FILEUPLOAD一次只能上一個檔案(較新的Visual Studio 己可以次上傳多個),
而SWFUPLOAD一次可以上傳多個檔案(但不是內建,設定麻煩)。
因此在這裡的SWFUPLOAD就比FILEUPLOAD強一些。

SWFUPLOAD:由SWF和JS完成檔名LOOP的上傳動作。
1.在 SwfUpload 官網中的External links/Demos中可以看到php下SWFUPLOAD的範例
2.在Featured/Downloads下可下載asp.net C#的範例,範例為產生縮圖。
若要要有上傳的動做需自行手寫,這就要看說明書的。
3.說明書:SWFUpload 使用详解
//upload.aspx.cs // Get the data
      HttpPostedFile jpeg_image_upload = Request.Files["Filedata"];
      string file_path = Server.MapPath("~/upload/");
      if (!Directory.Exists(file_path)) { Directory.CreateDirectory(file_path); }
      Request.Files["Filedata"].SaveAs(file_path + Request.Files["Filedata"].FileName);//存圖

http://blog.csdn.net/lfp0202/article/details/5800745
SWFUpload V2.2.0 说明文档
SWFUpload v2.2.0.1 中文帮助手册

SWFUpload 英文说明文档
http://demo.swfupload.org/Documentation/
http://www.dotblogs.com.tw/puma/archive/2008/07/16/4504.aspx

http://www.cnblogs.com/hinroe/archive/2011/01/18/1938738.html http://edu.save95.cn/index.php/video/index/14978
SWFUpload 未經定義
http://yrbrlono.blogspot.tw/2011/06/swfupload.html http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD200712191119337ET/1.html http://niunan.iteye.com/blog/1343553
http://blog.niunan.net/show.php?id=364
http://sholfen.pixnet.net/blog/post/38230094-%E5%A4%9A%E6%AA%94%E6%A1%88%E4%B8%8A%E5%82%B3%EF%BC%9A%E4%BD%BF%E7%94%A8swfupload
http://topic.csdn.net/u/20100406/15/347649c5-8b74-4c2d-95b8-ec931a666a89.html

http://www.dotblogs.com.tw/chhuang/archive/2008/02/23/1093.aspx
http://chainchung.pixnet.net/blog/post/17177164-%E7%B6%B2%E8%B7%AF%E7%9B%B8%E7%B0%BF%E5%AF%A6%E4%BD%9C%E6%96%B9%E5%BC%8F
SWFUpload使用指南
官網
https://code.google.com/p/swfupload/wiki/v250Beta1

3.
<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="Save Select Images" Width="150px" />

xmlns="http://www.w3.org/1999/xhtml"
    protected void btnSave_Click(object sender, EventArgs e) {
            if (Session["file_info"] != null) {
                  List<Thumbnail> thumbnails = Session["file_info"] as List<Thumbnail>;
                  string UploadPath = Server.MapPath("upload/");
                  foreach (Thumbnail img in thumbnails) {
                                    FileStream fs = new FileStream(UploadPath + img.ID + ".jpg", FileMode.Create);
                                     BinaryWriter bw = new BinaryWriter(fs);
                                    bw.Write(img.Data); bw.Close(); fs.Close();
                   }
                   Session.Clear();
                  }
}
=== FileUpload ==========

.aspx page
   1: <form id="form1" runat="server">

   2: <div>

   3:     <asp:FileUpload ID="FileUpload1" runat="server" /><BR>

   4:     <asp:FileUpload ID="FileUpload2" runat="server" /><BR>

   5:     <asp:FileUpload ID="FileUpload3" runat="server" /><BR>

   6:     <asp:FileUpload ID="FileUpload4" runat="server" /><BR>

   7:     <asp:FileUpload ID="FileUpload5" runat="server" /><BR>

   8:     <asp:FileUpload ID="FileUpload6" runat="server" /><BR>

   9:     <asp:FileUpload ID="FileUpload7" runat="server" /><BR>

  10:     <asp:FileUpload ID="FileUpload8" runat="server" /><BR>

  11:     <asp:FileUpload ID="FileUpload9" runat="server" /><BR>

  12:     <asp:FileUpload ID="FileUpload10" runat="server" /><BR>

  13:     <asp:Button ID="Button1" runat="server" Text="上傳(總合需小於10MB)" OnClick="Button1_Click"  style="width: 150px"/>   

  14:       <input id="btnCancel" type="button" value="取消" onclick="parent.closePopWindow();" style="width: 55px" class="submit_b" />

  15: >

  16:     <asp:Label ID="Label1" runat="server" Text=""></asp:Label>  

  17:     

  18: </div>

  19: </form>

.cs page


   1: protected void Button1_Click(object sender, EventArgs e) {

   2:     HttpPostedFile myFL;

   3:     Label1.Text = "";

   4:     string Archive = Request.QueryString["Archive"].ToString();

   5:     string savePath = Server.MapPath("~/") + "Files/" + Archive + "/";

   6:  

   7:     //建立物件案例。(取得目前的工作目錄、建立、移動、刪除、檢查是否存在和顯示資料夾清單)

   8:     DirectoryInfo objDirectoryInfo = new DirectoryInfo(savePath);

   9:     //如果該目錄不存在時。 //新增目錄。

  10:     if (!objDirectoryInfo.Exists) objDirectoryInfo.Create();

  11:  

  12:  

  13:     for (int i = 0; i < ((int)Request.Files.Count); i++) {

  14:         myFL = Request.Files[i];

  15:  

  16:         if (myFL.ContentLength > 0) {

  17:             ////----透過下面的方法,只取出上傳檔案的檔名。

  18:             string UploadFileName = Path.GetFileName(myFL.FileName);

  19:             //---------------------------------------------------------------------------------------------

  20:             Label1.Text = "<br>第" + (i + 1) + "檔案:" + UploadFileName + "上傳中...";

  21:  

  22:             //—註解:「目錄路徑」與「檔案名稱」,兩者都要!

  23:             myFL.SaveAs(savePath + UploadFileName);

  24:  

  25:         }

  26:     }

  27:     Label1.Text = "<br>上傳結束";

  28:     string script1 = "<script language=\"javascript\" type=\"text/javascript\">parent.__doPostBack('','RELOAD');</script>";

  29:  

  30:     Response.Write(script1);

  31:  

  32: }





參考:
FileUpload:Mis例子、錯誤(斷線)、斷線修正(web.config)其他
ASP.NET 檔案上傳的兩三事
ASP.NET』同時多檔案上傳 - 使用 FileUpload 元件


===NeatUpload
[ASP.NET] 檔案上傳 - NeatUpload - 顯示上傳比例 (ProgressBar)

2012年11月13日 星期二

StirMark使用說明:(2012/11/13)

StirMark使用說明:(2012/11/13)
下載stirmark benchmark 4.0:我是下載binary and C/C++ source code並解壓縮。

目錄說明:
/ Bin/ Benchmark/ the benchmarking tool itself
Libraries/ libraries sent by users
Profiles/ profiles are text configuration files describing the test to be applied (one profile per application and per 'robustness' level)
Media/ Input/ Images/ Set1/ 輸入的影像放這裡
Set2/

MyFolder/
...
Output/ (Same substructure is created for input. ) 輸出影像的資料夾
目錄說明:參考王旭正、柯建萱、ICCL資訊密碼暨建構實驗室, 資訊媒體安全:偽裝學與數位浮水印,初版,台北縣汐止市,博碩文化股份有限公司,2007年8月。page 236):

Step 1.將嵌入浮水印的影像(watermarked image)放:Media/ Input/ Images/ Set1/
Step 2.到Profiles/下找SMBsettings.ini:改攻擊參數。可不改,用預設。
Step 3.到Bin\Benchmark\下找StirMark Benchmark.exe,點二下。此為執行檔

Final Step:執行後,所有攻擊後的圖在:Media/ Output/ Images/ Set1/中。



stirmark benchmark 4.0 破壞程度(小) ---> 破壞程度(大) example(預設) 說明 問題使用狀況
Test1=Test_PSNR Strength of the watermark embedding
Test2=Test_EmbedTime ; Number of embeddings with random key per media ; This is used to compute the average embeding and extraction time
Test3=Test_AddNoise 0 -> 100 list=5
Test4=Test_JPEG 100 -> 0 list=5 JPEG_5:等級為5的JPEG壓縮。(等級低,壓縮比高)。 OK
Test5=Test_MedianCut 3 5、... the odd number < min(width px, height px) list=3 中位數濾波攻擊。MEDIAN_3:採用3X3的遮罩。 OK
Test6=Test_ConvFilter1(Gaussian filtering)
Convolution
filter1 = 3 3 9 1 2 1 2 4 2 1 2 1 和高斯函數做convolution。也就是該點像素以高斯函數做為附近像素值的加權平均之權重,加權後的均值取代原該點像素。所以有平滑、模糊的效果。
3的遮罩為[1 2 1;2 4 2;1 2 1]。
參考:我+單元五、空間濾波
平滑...為什麼我的會變白~~~*2OK
Test6=Test_ConvFilter2(sharpening) filter2 = 3 3 9 0 1 0 1 5 1 0 1 0 3的遮罩為[0 1 0;1 5 1;0 1 0]。
參考:WEB化的Watermark安全性
銳化...為什麼我的會變黑~~~*2OK
Test7=Test_SelfSimilarities 使用RGB色系,RGB通道,交換攻擊
Test8=Test_RemoveLines
Test9=Test_Cropping 100 -> 0 list=50 取中間部分。50:表示取下中間長寬50%做為測試 OK
Test10=Test_Rescale 100 -> 0 or infinite list=10 縮放百分比:10% OK
Test11=Test_Rotation 0 -> 360 list=0.1 逆時針轉0.1度 OK
Test12=Test_RotationCrop
Test13=Test_RotationScale
Test14=Test_Affine Affine
 Test15=Test_SmallRandomDistortions
Test16=Test_LatestSmallRandomDistortions
參數說明表



PS:
*1:StirMark出來的圖檔是BMP格式。但進去格式不分。
*2:Test_ConvFilter用法
[Test_ConvFilter] ; filter coefficients
; first two numbers correspond to width and height
; second number is division factor

; Gaussian filtering
  filter1 = 3 3 16 1 2 1 2 4 2 1 2 1
;filter1 =mask的寬 mask的高 除數 1 2 1 2 4 2 1 2 1
;這裡除數取1+ 2 +1+ 2+ 4+ 2+ 1+ 2+ 1=16

; sharpening
filter2 = 3 3 1 0 -1 0 -1 5 -1 0 -1 0

; edge
filter3 = 3 3 1 0 -1 0 -1 4 -1 0 -1 0

2012年11月9日 星期五

Asp.net和C#:檔案上傳元件

Asp.net和C#:檔案上傳元件
==============SwfUpload==============
//upload.aspx.cs // Get the data
      HttpPostedFile jpeg_image_upload = Request.Files["Filedata"]; 
      string file_path = Server.MapPath("~/upload/");
      if (!Directory.Exists(file_path)) { Directory.CreateDirectory(file_path); }
      Request.Files["Filedata"].SaveAs(file_path + Request.Files["Filedata"].FileName);//存圖

http://blog.csdn.net/lfp0202/article/details/5800745
SWFUpload V2.2.0 说明文档
http://www.leeon.me/upload/other/swfupload.html
SWFUpload 英文说明文档
http://demo.swfupload.org/Documentation/
http://www.dotblogs.com.tw/puma/archive/2008/07/16/4504.aspx

http://www.cnblogs.com/hinroe/archive/2011/01/18/1938738.html http://edu.save95.cn/index.php/video/index/14978
SWFUpload 未經定義
http://yrbrlono.blogspot.tw/2011/06/swfupload.html http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD200712191119337ET/1.html http://niunan.iteye.com/blog/1343553
http://blog.niunan.net/show.php?id=364
http://sholfen.pixnet.net/blog/post/38230094-%E5%A4%9A%E6%AA%94%E6%A1%88%E4%B8%8A%E5%82%B3%EF%BC%9A%E4%BD%BF%E7%94%A8swfupload
http://topic.csdn.net/u/20100406/15/347649c5-8b74-4c2d-95b8-ec931a666a89.html

http://www.dotblogs.com.tw/chhuang/archive/2008/02/23/1093.aspx
http://chainchung.pixnet.net/blog/post/17177164-%E7%B6%B2%E8%B7%AF%E7%9B%B8%E7%B0%BF%E5%AF%A6%E4%BD%9C%E6%96%B9%E5%BC%8F

官網
https://code.google.com/p/swfupload/wiki/v250Beta1

3.
<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="Save Select Images" Width="150px" />

xmlns="http://www.w3.org/1999/xhtml"
    protected void btnSave_Click(object sender, EventArgs e) {
            if (Session["file_info"] != null) {
                  List<Thumbnail> thumbnails = Session["file_info"] as List<Thumbnail>; 
                  string UploadPath = Server.MapPath("upload/"); 
                  foreach (Thumbnail img in thumbnails) { 
                                    FileStream fs = new FileStream(UploadPath + img.ID + ".jpg", FileMode.Create);
                                     BinaryWriter bw = new BinaryWriter(fs); 
                                    bw.Write(img.Data); bw.Close(); fs.Close();
                   }
                   Session.Clear(); 
                  }
}
====================================
FileUpload:Mis例子、錯誤(斷線)、斷線修正(web.config)其他
ASP.NET 檔案上傳的兩三事

2012年9月17日 星期一

Asp.net和C#取值:(GridView...)在CS中取ASPX中的值、在ASPX中取CS中的值。

取值:(GridView...)在CS中取ASPX中的值、在ASPX中取CS中的值。
Of course, you can use with the simple textbox,label, etc. .
however, we are discussing how to get the value from GridView,dataList,repeater control here.
we hope to get or find the value from database by the different controls, like GridView controls...
1.取值:Request的用法
在以前asp的年代時,request用在傳遞參數時很好用。但在現在asp.net年代下,皆以CommandName and CommandArgument取代request. 除非有CommandName and CommandArgument做不到時,才用request。以下列出request用法的參考網頁:
ASP.NET 如何取得 Request URL 的各個部分
ASP.NET內抓取網址的方式一覽表(Request)
用asp.net去取得client side的javascript var 值


2.取值(Eval用法):
初學 進階
123 Subject .aspx(放 form/div/之中) .cs
+ aspx中取值 Eval的用法
在TemplateField/ItemTemplate/
Lable
<asp:HyperLink ID="lnk2" runat="server"  NavigateUrl='<%# "NewDetail.aspx?Seq="+ Eval("Seq") %>'/> bind 有"Seq"的資料表
EX:
aspx中取值 Eval的用法
在TemplateField/ItemTemplate/
<a href="History.aspx?Seq=<%# Eval("Seq") %>" >  <%# Eval("Subject") %> </a> bind 有"Seq"的資料表
aspx中取值 aspx中取值方法(函數)
aspx中用GetVar():取得cs中的值 
在ASPX中呼叫:
<%# DloadList().ToString() %>
.CS中寫Public fun.:
public string DloadList() {
            return "ABC";
    }  
+ aspx中取值(隱藏法) 在aspx中,利用hidden value,取得由.cs中產生的數值。 1.<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="javascript:Window('123'+ parent.document.form1.Hidden1.value ,300,350);">
Open</asp:HyperLink>

2.<%= hidPath.Value %> 

3.在GridView/Columns/TemplateField/ItemTemplate中的
 <asp:HyperLink ID="FName" runat="server"
Text='<%# Eval("Name") %>'
NavigateUrl='<%# "~/"+Hidden2.Value+"/" + Eval("Name") %>' Target="_blank"/>

<input id="Hidden1" type="hidden" runat="server" />
Hidden1.Value = Request.QueryString["Seq"];
aspx中取值 以Repeater為例。在aspx中,將lblDLlist文字標籤給予特別的字。 <ItemTemplate>
<asp:Literal ID="lblDLlist" runat="server"></asp:Literal>
</ItemTemplate>
      protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) {

        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
            Literal a1 = (Literal)e.Item.FindControl("lblDLlist");
            // 這邊根據你的需求,把TextBox.Text丟進DB查詢
            a1.Text = "1dfgdf23";
        }
    }
cs中取值 DataList  取得每列相對應的資料(SQL中的)。
在.cs中的DataList之ItemDataBound做設定。
在DataList1_ItemDataBound中{
 DataRowView drv = e.Item.DataItem as DataRowView;
string seq_id = drv.Row[0].ToString();//取得此列的第一個值Row[0]
}
+ 不用(可用CommandName和CommandArgument取代) cs中取值   取1值
取得每列相對應的資料(SQL中的)。
在.aspx中,利用DataKeyNames關鍵字取得每列相對應的資料(Seq in DB)。
Outcomes&Applies
在GridView時,每列加上對應的回傳值。
<asp:GridView ID="GridView1" runat="server" DataKeyNames="Seq"> protected void GridView1_RowDataBound{

 if (e.Row.RowType == DataControlRowType.DataRow) { 
Response.Writ(GridView1.DataKeys[e.Row.RowIndex].Value.ToString());
}
}
+ 不用(可用CommandName和CommandArgument取代) cs中取值 GridView 取2值
取得每列相對應的資料(SQL中的)。
在.aspx中,利用DataKeyNames關鍵字取得每列相對應的資料(Aseq, Seq in DB)。
<asp:GridView ID="GridView1" runat="server" DataKeyNames="Aseq,Seq">  protected void GridView1_RowCommand() {
if (e.CommandName == "myDelete") {
String Aseq = e.CommandArgument.ToString().Split(',')[0].Trim();
String Seq = e.CommandArgument.ToString().Split(',')[1].Trim();
}
}
cs中取值(隱藏法) cs,利用Label(hidden),取得由在Gridview中產生的數值。  <asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand"...>
<Columns>
<asp:TemplateField> <ItemTemplate>
<asp:LinkButton ID="lnkViewData" CommandName="myViewData" CommandArgument='<%# Eval("Seq") %>' Text='<%# Eval("Subject") %>' runat="server"></asp:LinkButton>
</ItemTemplate> </asp:TemplateField>
</Columns>
</asp:GridView>

<asp:Label ID="lblseq" runat="server" Text="Label" Visible="False"></asp:Label>
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "myViewData") {
lblseq.Text = e.CommandArgument.ToString();
 editData(e.CommandArgument.ToString());
}
}

private void editData(string id) //EX1...看你在CS中怎麼用了...
{ string FilePath = Server.MapPath("~/") + lblseq.Text + "/"; //appendix: files
}
+ 常用 cs中取值 GridView  取2值
用CommandName、CommandArgument
在GridView/Column/asp:TemplateField/itemtemplate/: 
<asp:Button runat="server" Text="刪除" CommandName="myDelete" CommandArgument='<%# Eval("ASeq") +","+ Eval("Seq") %>' />
 protected GridView1_RowCommand()
{
if (e.CommandName == "myDelete") {
String Aseq = e.CommandArgument.ToString().Split(',')[0].Trim();
String Seq = e.CommandArgument.ToString().Split(',')[1].Trim(); 
Response.Writ( "Delete from CarrerItem where ASeq =" + Aseq); 
}
}
cs中取值 GridView  取此列的很多值,並執行。
(如編輯、列印。右例為"Aseq"和"APPLY")
 protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow) {
DataRow row1 = ((DataRowView)e.Row.DataItem).Row;
LinkButton lnkPrint = (LinkButton)e.Row.FindControl("lnkPrint");
lnkPrint.OnClientClick = "Print(" + row1["Aseq"].ToString() + ","+row1["APPLY"].ToString()+");return false;";
}
}
...<head> 
<script language="javascript" type="text/javascript">
 function Print(Aseq,APPLY){
window.open("PrintPage.aspx?Aseq="+Aseq+"&APPLY="+APPLY,'','width=690,height=900,menubars=no,toolbars=no,scrollbars=yes,resizable=yes'); }

</script>
</head>
...
 <asp:GridView ID="GridView3" runat="server" OnRowDataBound="GridView3_RowDataBound"....>
<Columns>
<asp:TemplateField HeaderText="列印"> <ItemTemplate>
<asp:LinkButton ID="lnkPrint" runat="server">列印預覽</asp:LinkButton>
</ItemTemplate> </asp:TemplateField>
</Columns>
</asp:GridView>

備注:
1.BIND時,Eval中的英文是用 雙引號  Eval("ABC ")
2.GridView RowCommand, RowDataBound使用
3.asp.net中Bind和Eval的有什麼區別

參考:
ASP.NET跨頁面傳值方法
在 Repeater 中,怎么根据不同的取值
C# Eval在asp.net中的用法及作用
asp.net中Bind和Eval的有什麼區別
ASP.NET Repeater, C# Repeater
如何抓取Repeater中的控制項的值
repeater为何在后台取不到值?解决思路
datalist的手写代码更新记录的怪问题? - .NET技术 / ASP.NET
asp.net如何用repeater读取数据库内容做链接(C#)急……


2012年9月3日 星期一

Beginning
first day:
1.VS2005 和 SQL sever2008 R2的相容性(SQL Server 2008 支援VS 2005 link)
2.示範網站:台灣國際紀錄片
3.安裝SQL時,驗証選SQL混合那一項(非WINDOWS驗証)

參考用書:
[ASP.NET入門實戰班]上課流程大公開、與書本(上集 / ASP.NET專題實務)(不建議初學者使用,書中許多地方的CODE有錯誤)

以下為勘誤(如果看不懂,請參照別本書)

P10-16: <asp:GridView ID="GridView1" runat="server" DataKeyNames="id">要加 OnRowEditing="GridView1_RowEditing"
P10-18:SqlConnection Conn = new SqlConnection(WebConfigurationManager.ConnectionStrings("testConnectionString").ConnectionString);中的("testConnectionString")改為["testConnectionString"]
P10-21:什麼叫做SqlConnection Conn = new SqlConnection("資料庫連線字串,ConnectonString");

ETC...

the second day
SqlConnection用法(範例)
GridView 抓控制項的值 part2(RowDataBoundEVEN)
GridViewk在RowDataBound時,取資料庫的值可用DataKeyNames(value from cell of database data原理)




the third day
新手入門資源文章
Page.IsPostBack(判別這個Web Form是不是第一次開啟)