【问题标题】:Casting datatype c#转换数据类型 c#
【发布时间】:2013-09-17 16:51:15
【问题描述】:

伙计们,我的数据库中有一个数据类型为 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 级别,我收到错误转换的通知。 我哪里错了伙计们?

【问题讨论】:

  • 数据库中UserStatus的数据类型是什么?

标签: c# asp.net sql type-conversion


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    如果数据类型是位,则将其转换为布尔值。应该可以的。

    【讨论】:

      【解决方案3】:

      试试下面的代码,

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

      在side if条件下,你会得到真/假

      【讨论】:

        猜你喜欢
        • 2014-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-09
        • 2017-05-30
        • 2011-10-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多