0

伙计们,我的数据库中有一个数据类型为 BIT 的字段。我需要提取此值并根据其值执行 IF ELSE 条件。

我尝试按如下方式获取值

   string UStat = "SELECT UserStatus FROM " + MainForm.schema + "Adm.SysUser WHERE USerId ='" + cmbUserID.Text + "'";
            cmd = ccs.CreateCommand();
            ccs.Open();
            cmd.CommandText = UStat;
            int User_stat = ((int)cmd.ExecuteScalar());
            string user_stat = Convert.ToString(User_stat);
            ccs.Close();

在 ExecuteScalar 级别,我收到错误转换的通知。我哪里错了伙计们?

4

3 回答 3

1

如果数据类型为 Bit,则将其强制转换为 bool。那应该行得通。

于 2013-09-13T05:38:50.367 回答
0

试试下面的代码,

string user_stat = Convert.ToString(cmd.ExecuteScalar())
if(Convert.ToBoolean(user_stat ))
{
-----
-----
}

在侧面 if 条件下,您将得到真/假

于 2013-09-13T05:27:48.720 回答
0

我明白了,伙计们......

我通过修改我的代码来解决它

  string UStat = "SELECT UserStatus FROM " + MainForm.schema + "Adm.SysUser WHERE USerId ='" + cmbUserID.Text + "'";
            cmd = ccs.CreateCommand();
            ccs.Open();
            cmd.CommandText = UStat;
            bool User_stat = ((bool)cmd.ExecuteScalar()); 
            ccs.Close();

感谢所有试图提供帮助的人。干杯

于 2013-09-13T05:39:25.737 回答