C# 在SqlDataReader中将int正确转换为字符串
代码: 错误: 发生类型为system invalid cast exception的未处理异常 在system.data.dll中C# 在SqlDataReader中将int正确转换为字符串,c#,sql-server,C#,Sql Server,代码: 错误: 发生类型为system invalid cast exception的未处理异常 在system.data.dll中 我显然遗漏了一些东西。根据您的最终结果,我建议您这样做: string variablestr; if (!reader.IsDBNull(reader.GetOrdinal("table-of-int"))) { variablestr = reader.GetInt32(reader.GetOrdinal("table-of-int")).ToStr
我显然遗漏了一些东西。根据您的最终结果,我建议您这样做:
string variablestr;
if (!reader.IsDBNull(reader.GetOrdinal("table-of-int")))
{
variablestr = reader.GetInt32(reader.GetOrdinal("table-of-int")).ToString().PadRight(32);
}
else
{
variablestr = new string(' ', 32);
};
int的
表
列的类型是什么?reader.GetValue(reader.GetOrdinal(“int的表”)).ToString().PadRight(32)那些整数值是绝对可以为空的吗?有些整数值是空的。整数的大小是多少?在强制转换盒式值类型时,您需要使用完全正确的类型—例如,您不能使用GetInt32
来获取字节
。
string variablestr;
if (!reader.IsDBNull(reader.GetOrdinal("table-of-int")))
{
variablestr = Convert.ToString(reader.GetInt32(reader.GetOrdinal("table-of-int"))).PadRight(32);
}
else
{
variablestr = new string(' ', 32);
};