我使用的是Access数据库,数据库表"product"中有一列"content"储存了商品详细信息,字符很长(字符长度肯定超255),"content"列数据类型是备注。
但是无论我用DataTable或者DataRead提取数据,都只能获得字符长度为255的数据,后面的数据自动截断了。请高手指示

解决方案 »

  1.   

    这种情况没见过   但我从access数据库里获取大于255的字符都可以
    我想可能是你的sql语句出问题了
      

  2.   

    应该不会截断的,是不是显示的问题,用textarea试试
      

  3.   

    谢谢你们的回复,我把代码贴出来吧。下面是我的链接数据库的类的代码:
    public class DB
    {
        string connString = ConfigurationManager.ConnectionStrings["TuanGou"].ConnectionString.ToString();  
    public DB()
    {
    //
    //TODO: 在此处添加构造函数逻辑
    //
    }
        public string DataRead(string query)
        {
            OleDbConnection conn = new OleDbConnection(connString);
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(query, conn);
            OleDbDataReader dr = cmd.ExecuteReader();
            string a = "";
            if (dr != null)
            {            while (dr.Read())
                {
                    a += dr[0].ToString();
                }
            }
            conn.Close();
            return a;       
        }
    下面是代码是我调取数据库数据的代码:
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                    string id = Request.QueryString["id"].ToString();
                    DB db = new DB();
                    DataTable dt = db.dt("select * from product_productClass2_productClass1 where detailId=" + id);
                    if (dt.Rows.Count != 0)
                    {
                        string a = db.DataRead("select content from product_productClass2_productClass1 where detailId=" + id);
                        Label1.Text = a.ToString();
                        Label2.Text = a.ToString().Length.ToString());
                    }               }
            }
        }
    上述代码中:Label1的值总是显示不完整,Label2的值总是“255”;不知道我写的请不清楚,谢谢各位了
      

  4.   

    你跟踪看看吧。看看读出来的是什么。。
    要不就建议你新建一个页面再试试。还有一个就是把sql 改一下 :select content from table where len(content)>255 看看执行这个sql获取的都是什么。。
      

  5.   

    真实惭愧,解决了。
    原因是因为  select content from product_productClass2_productClass1 where detailId=这段sql语句我连接的“product_productClass2_productClass1 ”是一个视图。
    呵呵。折腾了半天。还有我再问一下:视图中的字段内容没法大于 255 么?
      

  6.   

    你把那个字段的类型设置为text应该可以