据我所知,字符不同于字符串。我将数据类型 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", MySqlDbType.VarChar, 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]);
关于c# - 不能将类型字符串隐式转换为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154390/