3

例如,以下代码打印“ System.Int32”,而不是“ int”:

string connArgs = "..."; // use your settings here
string query = "SELECT 1";
using (SqlConnection conn = new SqlConnection(connArgs)) {
  conn.Open();
  SqlCommand cmd = new SqlCommand(query, conn);
  using (SqlDataReader reader = cmd.ExecuteReader())
    for (int col = 0; col < reader.VisibleFieldCount; ++col)
      Console.WriteLine(reader.GetFieldType(col));
}

如何获取底层 SQL 类型,而不仅仅是其等效的 .NET 系统类型?

4

1 回答 1

5

您可以为此使用一种GetDataTypeName方法:

获取表示指定列的数据类型的字符串。

for (int col = 0; col < reader.VisibleFieldCount; ++col) {
    Console.WriteLine(reader.GetDataTypeName(col));
}
于 2013-04-03T12:17:53.420 回答