比如SQL中tinyint对应在C#中为Byte,我怎么样在C#中定义tinyint?这样在代码中可以直接使用?也就是如何给Byte一个别名tinyint?

解决方案 »

  1.   

    tinyint和Byte表示数字的长度和范围均相同,当然用Byte但是为什么要给Byte一个别名tinyint?直接用不就可以了吗
    直接赋给SqlParameter就可以用了
      

  2.   

    SqlDbType enum里有sql的数据类型
      

  3.   

    经理说给Byte一个别名tinyint,这样就不会搞混了,说是更直观.我也晕啊!
    比如可以在C#中这样:tinyint i;把i作为存储过程的参数时就直观了.
      

  4.   

    Byte类型是struct不能继承,不过可以定义一个类型
    class tinyint : IConvertible
    {
     private byte val;
     public tinyint(byte v){val = v;} IConvertible.GetTypeCode(){return TypeCode.Byte;}
     IConvertible.ToBoolean(IFormatProvider provider){...}
     IConvertible.ToByte(IFormatProvider provider){...}
     // ...其他接口成员
    }这样就可以用tinyint t = new tinyint(5);
    并且也可以直接用于sql参数上
    但是做不到tinyint t = 5;
    因为C#只允许基元类型有这样的表达式
    不过如果实现了强制转换运算符,可以这么写:tinyint t = (tinyint)5;
      

  5.   

    System.Data.SqlTypes.SqlByte t = new System.Data.SqlTypes.SqlByte(10);
    t//上面的代码复制到你的程序,t 后面加个点就瞧见方法了,你想to 什么就to 什么