在sql server2005上执行table = reader.GetSchemaTable();将返回一个列DataTypeName,以找出select语句的数据类型。
在oracle服务器上执行相同的代码不会返回任何DataTypeName列。
那么,如何使用select column1 from tablename语句获取column1字段的数据类型名称呢?
发布于 2011-05-30 19:23:11
您使用的是哪种阅读器,OracleDataReader.GetSchemaTable Method应该可以满足您的需求
发布于 2012-05-03 00:35:58
在使用Oracle时,DbDataReader.GetSchemaTable不起作用。
您可以使用OracleDataReader.GetSchemaTable。
另一种选择是遍历DbDataReader字段,如下所示:
public bool Test(DbDataReader _dr, string columnName)
{
for (int i = 0; i <= _dr.FieldCount - 1; i++)
{
if ((_dr.GetName(i).Equals(columnName, StringComparison.InvariantCultureIgnoreCase)))
{
//Change this to your needs
_dr.GetDataTypeName(i);
return true;
}
}
return false;
}https://stackoverflow.com/questions/6174763
复制相似问题