1. 程式人生 > >T-SQL中的布林值以及怎樣在C#中將bit轉換為bool

T-SQL中的布林值以及怎樣在C#中將bit轉換為bool

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();