C# 将varchar转换为char?如何修复错误
当我想将DRMKOD转换为char时,我在下面遇到了这个错误 [varchar1 column]是sql表上DRMKOD列的类型 字符串必须正好是一个字符 长的在 System.Convert.ToCharString值, IFormatProvider提供程序位于 System.String.System.IConvertible.ToCharIFormatProvider 提供商位于 System.Convert.ToCharObject值C# 将varchar转换为char?如何修复错误,c#,sql,C#,Sql,当我想将DRMKOD转换为char时,我在下面遇到了这个错误 [varchar1 column]是sql表上DRMKOD列的类型 字符串必须正好是一个字符 长的在 System.Convert.ToCharString值, IFormatProvider提供程序位于 System.String.System.IConvertible.ToCharIFormatProvider 提供商位于 System.Convert.ToCharObject值 这两种类型不兼容。varchar是字符串,char
这两种类型不兼容。varchar是字符串,char是单个字符
将结果转换为字符串,然后使用str[0]获取第一个字符,假设该字符串包含任何字符且不为null dt.Rows[i][DRMKOD]的值是多少?我只能认为它是空的或空的。VARCHAR1意味着它可以是空的或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"]);
从表中选择[DRMKOD],其中ISNULL[DRMKOD],=-返回了6个空行或空行。那么这将返回DRMKOD,将结果加载到字符串中并检查它?它可能是一个空字符串。如果VARCHAR总是1个字符,那你为什么还要用它呢?
public char DrmKod
{
get { return _DrmKod; }
set { _DrmKod = value; }
}
if (dt.Rows[i].IsNull("DRMKOD") || (dt.Rows[i]["DRMKOD"] == String.Empty))
entity.DrmKod = ' '
else
entity.DrmKod = Convert.ToChar(dt.Rows[i]["DRMKOD"]);