OleDbDataReader mydr =myComm.ExecuteReader(CommandBehavior.CloseConnection);
while(mydr.Read())
{
for(i=1;i<mydr.FieldCount;i++)
{
Response.Write("<br>");
switch(mydr.GetFieldType(i))
{
case "System.Int32":
  Response.Write(mydr.GetInt32(i));
break;
case "System.String":
Response.Write(mydr.GetString(i));
break;
                                     ....
请教大家。。是不是要定义枚举数据类型变量然后用在switch语句中??

解决方案 »

  1.   

    OleDbDataReader mydr =myComm.ExecuteReader(CommandBehavior.CloseConnection);
    while(mydr.Read())
    {
    for(i=1;i<mydr.FieldCount;i++)
    {
    Response.Write("<br>");
    switch(mydr.GetFieldType(i))
    {
    case "System.Int32":
      Response.Write(mydr.GetInt32(i));
    break;
    case "System.String":
    Response.Write(mydr.GetString(i));
    break;
                      ....
    请教大家。。是不是要定义枚举数据类型变量然后用在switch语句中??
      

  2.   

    OleDbDataReader mydr =myComm.ExecuteReader(CommandBehavior.CloseConnection);
    while(mydr.Read())
    {
    for(i=1;i<mydr.FieldCount;i++)
    {
            Response.Write("<br>");
            switch(mydr.GetFieldType(i))
            {
                   case "System.Int32":
                     Response.Write(mydr.GetInt32(i));
                   break;
                   case "System.String":
                   Response.Write(mydr.GetString(i));
                   break;
                            ....
    请教大家。。是不是要定义枚举数据类型变量然后用在switch语句中??
      

  3.   

    switch(mydr.GetFieldType(i).ToString())orswitch(mydr.GetFieldType(i).Name)
      

  4.   

    switch(mydr.GetFieldType(i).ToString())orswitch(mydr.GetFieldType(i).Name)
      

  5.   

    switch(mydr.GetFieldType(i).ToString)
    java中就只能switch整数
      

  6.   

    试试下面                case System.Int32:
                     Response.Write(mydr.GetInt32(i));
                   break;
                   case System.String:
                   Response.Write(mydr.GetString(i));
                   break;
      

  7.   

    i think the problem comes here:
    switch(mydr.GetFieldType(i))
    {
    case "System.Int32":-->> case typeof(System.Int32):
    {
     Response.Write(mydr.GetInt32(i));
    break;
    }
    ...
    }
      

  8.   

    i don't agrre with up.i think the problem comes here:
    switch(mydr.GetFieldType(i))
    {
    case "System.Int32":-->> case typeof(System.Int32):
    {
     Response.Write(mydr.GetInt32(i));
    break;
    }
    ...
    }
      

  9.   

    你试一下
    switch(mydr.GetFieldType(i).ToString())
    我记得switch不一定要整型的,不过拿一个type类型大概是不可以的。
      

  10.   

    先谢谢楼上各位!!   一会儿结帖。。:)  五星上将就还要分么?to neodotnet(Neo.NET) :
            case System.Int32:  ---〉编译错误: Int表示类,此处表示变量
    to wacle([Smile!]) :
            case typeof(System.Int32): ---> 编译错误: 无法将System.Type隐式的转化为string