加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 无法将类型字符串隐式转换为char

发布时间:2020-12-16 01:59:31 所属栏目:百科 来源:网络整理
导读:我知道char与string不同.我将数据类型char赋予表中的列状态. 我被困在这里,因为我第一次使用char.这是我的代码 cmd.CommandType = CommandType.StoredProcedure; if (con.State == ConnectionState.Closed) con.Open(); MySqlDataReader dr = cmd.ExecuteRea
我知道char与string不同.我将数据类型char赋予表中的列状态.
我被困在这里,因为我第一次使用char.这是我的代码

cmd.CommandType = CommandType.StoredProcedure;
        if (con.State == ConnectionState.Closed)
            con.Open();
        MySqlDataReader dr = cmd.ExecuteReader();
        List<clssessionprp> obj = new List<clssessionprp>();
        while (dr.Read())
        {
            clssessionprp k = new clssessionprp();
            k.p_sescod = Convert.ToInt32(dr[0]);
            k.p_session = dr[1].ToString();
            k.p_status = dr[2].ToString();
        }

这里status列是char数据类型.我谷歌这个但是找不到任何想要的结果.
任何帮助都会得到满足

我的BLL代码是

public void save_rec(clsclsprp p)
    {
        MySqlCommand cmd = new MySqlCommand("ins_cls",con);
        cmd.CommandType = CommandType.StoredProcedure;
        if (con.State == ConnectionState.Closed)
            con.Open();
        cmd.Parameters.Add("_clsnam",MySqlDbType.VarChar,50).Value = p.p_clsnam;
        cmd.Parameters.Add("_clsdes",200).Value = p.p_clsdes;
        cmd.Parameters.Add("_clssec",MySqlDbType.Char,1).Value = p.p_clssec;
        cmd.ExecuteNonQuery();
        con.Close();
        cmd.Dispose();
    }

解决方法

您可以使用 Convert.ToChar(Object)直接将对象转换为字符,而不是使用ToString()将其转换为字符串.

k.p_status = Convert.ToChar(dr[2]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读