当我想将DRMKOD转换为char?
时,我收到此错误[varchar(1)coloumn]是sql表中“DRMKOD”列的类型。
字符串必须是一个字符 长。在 System.Convert.ToChar(字符串值, IFormatProvider提供商) System.String.System.IConvertible.ToChar(的IFormatProvider 提供者) System.Convert.ToChar(对象值)
entity.DrmKod = Convert.ToChar(dt.Rows[i]["DRMKOD"]);
public char DrmKod
{
get { return _DrmKod; }
set { _DrmKod = value; }
}
答案 0 :(得分:3)
这两种类型不兼容。 varchar
是一个字符串,char
是一个字符。
将结果转换为字符串,然后使用str[0]
获取第一个字符(假设字符串甚至包含任何字符且不为空!)。
答案 1 :(得分:2)
dt.Rows [i] [“DRMKOD”]的值是多少?我只能认为它是空的或空的。
答案 2 :(得分:0)
VARCHAR(1)意味着它可以是NULL或String.Empty。
if (dt.Rows[i].IsNull("DRMKOD") || (dt.Rows[i]["DRMKOD"] == String.Empty))
entity.DrmKod = ' '
else
entity.DrmKod = Convert.ToChar(dt.Rows[i]["DRMKOD"]);