char 数据类型的列存放固定个数的字符。
char(12) 表示这个字段的字节个数一定是12个,如果不满12个,不足的位数补足空格。

解决方案 »

  1.   

    SqlDataReader不会改数据,应该是你数据库里的那个数据就是"\n11111111111",
    你在数据库里直接改一下就能看出来了 
      

  2.   

    string.ToString().Trim(); 去掉两边空格得到你原始的长度
      

  3.   

     试着把类型改成 NChar(12)
      

  4.   

     text.Text= MyReader["MAX"].ToString().Trim();
    TRIM ()     就ok了
      

  5.   

    无法还原。你的字段本身就是定长的
    用trim不一定能得到最原始的数据,假如原始数据就是0A结尾的呢?
      

  6.   

    char内容长不够的话,会自动用空格去补的
      

  7.   

    class program
    {
        static void Main()
        {
            string connection =//建立连接字符串
                "server=WRET-MOSY688YVW\\MRGLL;database=db_test;Trusted_Connection=true";
            SqlConnection sc = new SqlConnection(connection);//创建SqlConnection对象
            try
            {
                sc.Open();//打开数据库连接
                SqlCommand cmd = new SqlCommand(//创建SqlCommand对象
                    "SELECT count(*) FROM tb_student", sc);
                int i = (int)cmd.ExecuteScalar();//执行查找记录的命令
                Console.WriteLine("表中共有{0}条数据",i.ToString());//控制台输出字符串
            }
            catch (Exception ex)//捕获异常
            {
                Console.WriteLine("打开数据库错误:{0}", ex.Message);//控制台输出字符串
            }
            finally
            {
                sc.Close();//关闭数据库连接
            }
            System.Console.ReadLine();//等待回车继续
        }
    }
      

  8.   

    用TRIM解决了,这个字段是存的内容为可视内容,如果是非可视的就行了,3Q