cannot implicitly convert type string to char
42,891
Solution 1
You can use Convert.ToChar(Object) to directly converting object to character instead of converting it to string using ToString()
.
k.p_status = Convert.ToChar(dr[2]);
Solution 2
How about:
dr[2].ToString()[0]
- checking that it is not null, of course.
Alternatively:
Convert.ToChar(dr[2])
could work too.
Solution 3
There are two options...
Convert.ToChar(dr[2]);
or
char chartext = text.ToCharArray()[0];
Author by
Admin
Updated on January 05, 2020Comments
-
Admin over 4 years
As I know char is different from string. I give datatype char to a column status in a table. I am stuck here because i am using char first time. here is my code
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(); }
here status column is of char datatype. I google this but can't found any desired result. any help will be appriciated
my BLL code is
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(); }