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

本文介绍T-SQL中布尔值的表示方式及其与C#间bool类型的自动转换过程。通过实例展示了如何在SQL Server中使用True/False,并在C#中无缝进行数据读取和写入。

被折叠的 条评论
为什么被折叠?



