在数据库中的bit类型在dataset中存放值测验
在数据库中的bit类型在dataset中存放值测验
表结构如下
CREATE TABLE [operator](
[guid] [nvarchar](36) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
[name] [nvarchar](50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
[pwd] [nvarchar](50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL,
[islock] [bit] NULL
)
表里数据内容如下
75E16F0C-B785-4EFA-A8EC-8B5868F851E8 chenzz chenzz NULL
45196378-AF0F-4A50-AB15-63CE7729A66F admin admin 1
A0DE05FA-C240-49A5-80A8-5B2F653060D1 cs css 0
3EFE95B9-DF66-4BE8-ACA5-6DCA75E0DA91 george chenzz 0
测试程序如下:
string connstring = "Data Source=(local);Initial Catalog=MyDb;Integrated Security=True";
DataSet ds = ExecuteDataSet("select * from operator", connstring);
string ss1 = ds.Tables[0].Rows[0]["islock"].ToString(); //结果为""
string ss2 = ds.Tables[0].Rows[1]["islock"].ToString(); //结果为"True"
string ss3 = ds.Tables[0].Rows[2]["islock"].ToString(); //结果为"False"
string ss4 = ds.Tables[0].Rows[3]["islock"].ToString(); //结果为"False"
结论:在数据库中bit类型数据读入到dataset后数据变为"True","False"--(注意, 字母第一个为大写),所以写程序要判断一bit 类型的数据值时(此数据已先读入到 DataSet)可以根据其值是否等于"True"或"False"来进行相应的操作
如下所示
string ss1 = ds.Tables[0].Rows[0]["islock"].ToString();
if(ss1=="True")
{
//to do something
}