六月 22

其實 WinForm 跟 WebForm 在連結資料庫方面其實差不了太多。

C#:
  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3.     //第一:連結SQL資料庫
  4.     string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\test_Data.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True";
  5.     SqlConnection conn = new SqlConnection(connstr);
  6.     conn.Open();
  7.  
  8.     //第二:執行SQL指令
  9.     string sqlstr = "select * from test";
  10.     SqlCommand cmd = new SqlCommand(sqlstr,conn);
  11.  
  12.     SqlDataReader dr = cmd.ExecuteReader();
  13.  
  14.     //第三:印出資料
  15.     while (dr.Read())
  16.     {
  17.         Response.Write("文章編號:" + dr["id"] + "<br>");
  18.         Response.Write("日  期:" + dr["test_time"] + "<br>");
  19.         Response.Write("文章標題:" + dr["title"]);
  20.         Response.Write("<hr>");
  21.     }
  22.  
  23.     //第四:關閉連線
  24.     cmd.Cancel();
  25.     dr.Close();
  26.     conn.Close();
  27.     conn.Dispose();
  28. }

六月 22

工具:RequiredFieldValidator
驗證:必要輸入項
說明:確保使用者不會略過輸入項目。如需詳細資訊,請參閱 HOW TO:驗證 ASP.NET 伺服器控制項的必要項目。

工具:CompareValidator
驗證:與某個值的比較
說明:使用比較運算子 (例如小於、等於、大於),將使用者輸入的值與常數值、另一個控制項的值,或特定資料型別做比較。如需詳細資訊,請參閱 HOW TO:比對特定值驗證 ASP.NET 伺服器控制項和 HOW TO:比對資料型別驗證 ASP.NET 伺服器控制項。

工具:RangeValidator
驗證:範圍檢查
說明:檢查使用者的輸入是否介於指定的上下限之間。您可以檢查成對的數字、英文字母字元和日期內的範圍。如需詳細資訊,請參閱 HOW TO:比對範圍值驗證 ASP.NET 伺服器控制項。

工具:RegularExpressionValidator
驗證:樣式比對
說明:檢查輸入是否符合規則運算式 (Regular Expression) 所定義的樣式。這類的驗證可讓您檢查字元 (例如電子郵件地址、電話號碼、郵遞區號等項目中的字元) 的預期順序。如需詳細資訊,請參閱 HOW TO:比對模式驗證 ASP.NET 伺服器控制項。

工具:CustomValidator
驗證:使用者定義
說明:使用您自己撰寫的邏輯驗證使用者的輸入。這類驗證可讓您檢查執行階段時衍生的值。如需詳細資訊,請參閱 HOW TO:使用 ASP.NET 伺服器控制項的自訂函式驗證HOW TO:比對資料庫值驗證 ASP.NET 伺服器控制項。


MSDN

十二月 08

SQL Server 中易混淆的數據類型

程式 沒有回應 »   瀏覽人數:[ 512user+568bot ]

本文摘自「藍色理想」http://www.blueidea.com/tech/program/2004/1724.asp。

(1)char、varchar、text和nchar、nvarchar、ntext
char 和varchar的長度都在1到8000之間,它們的區別在於char是定長字符數據,而varchar是變長字符數據。所謂定長就是長度固定的,當輸入的數據長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;而變長字符數據則不會以空格填充。text存儲可變長度的非 Unicode數據,最大長度為2^31-1(2,147,483,647)個字符。

後面三種數據類型和前面的相比,從名稱上看只是多了個字母"n",它表示存儲的是Unicode數據類型的字符。寫過程序的朋友對Unicode應該很瞭解。字符中,英文字符只需要一個字節存儲就足夠了,但漢字眾多,需要兩個字節存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為瞭解決字符集這種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字。可以看出使用nchar、nvarchar數據類型時不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數量上有些損失。

(2)datetime和smalldatetime
datetime:從1753年1月1日到9999年12月31日的日期和時間數據,精確到百分之三秒。
smalldatetime:從1900年1月1日到2079年6月6日的日期和時間數據,精確到分鍾。

(3)bitint、int、smallint、tinyint和bit
bigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型數據。
int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型數據。
smallint:從-2^15(-32,768)到2^15-1(32,767)的整數數據。
tinyint:從0到255的整數數據。
bit:1或0的整數數據。

(4)decimal和numeric
這兩種數據類型是等效的。都有兩個參數:p(精度)和s(小數位數)。p指定小數點左邊和右邊可以存儲的十進制數字的最大個數,p必須是從 1到38之間的值。s指定小數點右邊可以存儲的十進制數字的最大個數,s必須是從0到p之間的值,默認小數位數是0。

(5)float和real
float:從-1.79^308到1.79^308之間的浮點數字數據。
real:從-3.40^38到3.40^38之間的浮點數字數據。在SQL Server中,real的同義詞為float(24)。

五月 22

BindingSource 和 BindingNavigator

亂講 沒有回應 »   瀏覽人數:[ 1,318user+958bot ]

        BindingSource 類似 DataSet 算是一個資料流的中繼站,和 DataSet 不同的是 BindingSource 提供的功能比較多,支援資料繫結,能夠替表單封裝資料來源,和 BindingNavigator 搭配,可以輕易的做出許多功能。

一如剛剛上面所提,BindingSource 重要的元件特性有以下各點:

  1. 中間階層的間接取質
  2. 將資料來源視為一個清單
  3. 能夠在設計階段繫結到商業物件(要用錢買的)
  4. 同步化管理(Currency Management)
  5. 自訂的項目建立
  6. 交易式的項目建立
  7. 與 BindingSource 互相搭配

基本模型如下:

BindingSource.png

五月 20

建立資料庫連接字串的方法

程式 沒有回應 »   瀏覽人數:[ 1,663user+999bot ]

一、使用 ConnectionStringBuilder
1.連接 Access

VB.NET:
  1. Dim builder As New OleDbConnectionStringBuilder
  2. builder.Provider = "Microsoft.Jet.OLEDB.4.0"
  3. builder.DataSource = "|DataDirectory|\test.mdb"
  4. builder.Add("Jet OLEDB:Database Password", "123456")
  5. Dim str As String = builder.ConnectionString
  6. Return str

(繼續閱讀 »)

四月 12

ADO.NET 資料存取的2種方法

程式 1 個回應 »   瀏覽人數:[ 1,422user+1,061bot ]

        在程式開發中,都無可避免的要接觸到資料庫,無論你對它喜愛與否,它都無所不在,根據一項非官方統計,近年來軟體的開發近 8 成都與資料庫有關,而 ADO.NET 正是 VB2005 中存取資料庫的一個類別庫,它提供完整方法對資料庫的操作,在 FromWork 2.0 中 ADO.NET 支援的資料庫連接,你可以參考這個網站 ConnectionStrings,因為很多,所以不一一列出。

(繼續閱讀 »)