1. T-SQL中的布爾值
在T-SQL中,使用bit來表達布爾值。
(bit在SQL Server中並不一定儲存為一位;在實際情況中,往往bit被儲存為一個位元組和多個位。)
在SQL Server Browser (2008)中可以直接使用True/False作為bit列的輸入值,SQL Server會自動把輸入的True/False轉換為1/0。
2. 在C#中將bit轉換為bool
在具體的實踐過程中,我發現.NET 3.0/3.5的ADO可以自動將bit類型轉換為True/False的形式而不需要任何額外的代碼。同時,反向的,使用SqlParameter也可以直接將bool插入到SQL Server中而不需要額外的代碼。
bit與bool之間的轉換在.NET 3.0/3.5的ADO中似乎可以自動完成。
貼出一些我實驗用的程式碼片段:
實驗的表結構:
CREATE TABLE BitTest
(
Test BIT,
)
C#代碼:
取出bit類型的資料
SqlConnection connection = new SqlConnection("Data Source=localhost;Initial Catalog=Test;Integrated Security=SSPI;");
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM BitTest", connection);
DataSet data = new DataSet();
adapter.Fill(data);
在顯示資料時只需要使用ToString()即可
Console.WriteLine(data.Tables[0].Rows[0][0].ToString());
在插入資料時,SqlParameter可以自動完成bool到bit的轉換
SqlCommand command = new SqlCommand("INSERT INTO BitTest ([Test]) VALUES (@test)", connection);
command.Parameters.Add(new SqlParameter("@test", false));
connection.Open();
command.ExecuteNonQuery();
connection.Close();