我在acess的一个表中的一个字段中存取了图片的地址,例如,D:\Pic\.net\fng。字段类型是文本型。
但是用读取他的时候老是出错
     OleDbDataReader dr = cmd.ExecuteReader();
     string[] data = new string[100];
     dr.Read();
     int i = 1;
     data[0] = dr.GetString(3);
     while (dr.Read())
     {
        data[i] = dr.GetString(3);
         i++;
      }
     dr.Close();
     Conn.Close();
应该怎么读。我就是想把那串文本读取出来。是不是地址类的文本不能这么读取。麻烦帮我改改。谢谢

解决方案 »

  1.   

    你干嘛这样读呀,从数据库一起读出来不就行了,在数据库中可能是字符型,也可能是NTEXT的
      

  2.   

    data[0] = dr[3].ToString();while (dr.Read()) 
        { 
           if(i>99)
               break;
            data[i] = dr[3].ToString();
            i++; 
          } 
      

  3.   

    二楼的方法我试了,他每次读到OleDbDataReader dr = cmd.ExecuteReader();就提示至少一个参数没有被指定值。sql=select 图片 from db1 。
      

  4.   

    是否sql语句问题,贴出完整代码
    加select [字段] from Tb
      

  5.   

    不可能是sql的问题啊,我换个别的字段就能读出来,唯独图片这个字段出问题
     string Datapath;
                Datapath = @"Resources\MAP\基础教育数据.mdb";
                Datapath = AppPath + Datapath;
                string constring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Datapath;
                OleDbConnection Conn = new OleDbConnection(constring);
                //Conn.Open();
                //String sql;     // 定义SELECT语句,根据培训状态读取培训信息
              
                schoolname = textBox1.Text;
                string sql = "select 图片 from 普通中学 where 学校名称='" + schoolname + "'";
                OleDbCommand cmd = new OleDbCommand(sql, Conn);
                Conn.Open();
                OleDbDataReader dr = cmd.ExecuteReader();
                string[] data = new string[100];
                dr.Read();
                int i = 1;
                string m = dr[0].ToString();
                data[0] = dr[0].ToString();
                while (dr.Read())
                {
                    if (i > 99)
                        break;
                    data[i] = dr[3].ToString();
                    i++;
                }
                dr.Close();
                Conn.Close();
    其中数据库表格里面有个字段是“图片”,存储类型是文本型,例如D:\tome\pic\oc4of