(x.gettype())DataReader["x1"];
为什么要用呢??

解决方案 »

  1.   

    (x.gettype())DataReader["x1"];
    这样写不行,我试过了,因为想把这个部分写成通用的。
    传进来的变量名和字段名,类型都是一样的。
      

  2.   

    x = CType(DataReader["x1"], string)
      

  3.   

    x = DataReader["x1"].ToString();
      

  4.   

    if(str1.GetType()== typeof(string))
    {}
    if(str1.GetType()== typeof(int))
    {}
    ...
    一个一个来做
      

  5.   

    Richardhu(学无止境):
       我也是这样想的,写一个switch语句,但是有没有更好的办法呢?
      

  6.   

    用SWITCH 或 IF 就够好了!
      

  7.   

    用swtich...case比较好,把string和int这样的类型放在前面进行匹配,这样匹配次数会少一些。
      

  8.   

    public static implicit operator DataTable(DBView dbview)//隐式的转换成DataTable
    {
    return dbview.m_DataTable;
    } public static explicit operator DBView(DataTable datatable)//显式转换DataTable为dbview
    {
    DBView pDb=new DBView();
    pDb.m_DataTable=datatable;
    return pDb;
    }
      

  9.   

    这样的话,传进来的参数应该使用 object,试参考一下 SqlParameter 的存储过程参数名和参数值的传递方法。