如题,表cj_main,我想用LIST<T>读取表中所有记录条的字段cj_path如何写?(遍历)

解决方案 »

  1.   

    是读取表中所有字段 还是只读取字段cj_path?
      

  2.   

    就读一个字段 cj_path 这一列
      

  3.   


      string queryString =
            "SELECT cj_path FROM cj_main;";
        List<String>list=new List<string>();
        using (SqlConnection connection =
                   new SqlConnection(""))
        {
            SqlCommand command =
                new SqlCommand(queryString, connection);
            connection.Open();        SqlDataReader reader = command.ExecuteReader();         
            while (reader.Read())
            {
                list.Add(reader[0]);
            }
     
            reader.Close();
        }
      

  4.   


    //linq可以这么写: List<String>list = (from  m in cj_main 
               select m.cj_path).ToList(); 
      

  5.   

    原来代码是这样,这个cj_path是一个图片的地址路径.
    我想把cj_path所有的图片地址都读入imagelist但是不知道应该怎么写。现在只读进来一张 if (rs.Read())
                {
                    cj_names = rs[1].ToString();
                    cj_pic_path = rs[3].ToString();
                    List<Image> lst = new List<Image>();
                    lst.Add(Image.FromFile(cj_pic_path));
                    label1.Text = cj_names;
                    if (i >= lst.Count)
                    {
                        i = 0;
                    }
                    else
                    {
                        
                        this.pictureBox1.Image = lst[i];
                        pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
                        i = i + 1;
                    }
      

  6.   

         List<Image> lst = new List<Image>();这句放到if (rs.Read())外边
      

  7.   

    if  改成 while(rs.read())
      

  8.   

    原来我代码就可以 不过是,手动指定的图片地址。现在需要在数据库里读取
                List<Image> lst = new List<Image>();//保存图片
                    lst.Add(Image.FromFile("C:\\choujiang\\1.jpg"));
                  lst.Add(Image.FromFile("C:\\choujiang\\2.jpg"));
                  lst.Add(Image.FromFile("C:\\choujiang\\3.jpg"));
                  lst.Add(Image.FromFile("C:\\choujiang\\4.jpg"));            if (i>=lst.Count)
                {
                    i = 0;
                }
                else
                {
                    this.pictureBox1.Image = lst[i];
                    pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize; 
                    i = i + 1; 
                }
      

  9.   

    List<Image> lst = new List<Image>();
    if (rs.Read())
        {
          cj_names = rs[1].ToString();
          cj_pic_path = rs[3].ToString(); 
          lst.Add(Image.FromFile(cj_pic_path));
         }
      

  10.   


    猫哥对Linq很熟悉啊,向猫哥求Linq学习资料
      

  11.   

    lz如果是把cj_main的数据全部给在List<Model>的话,又只用一个字段,就用for遍历:
    List<Image> imgList = new List<Image>();
    for(int i = 0; i<list.count; i++)
    {
        Image img = new Image();
        img.src = list[i].Path.toString();
        imgList.add(img);
    }
      

  12.   

    List<Image> lst = new List<Image>();
    while (rs.Read())
      {
      cj_names = rs[1].ToString();
      cj_pic_path = rs[3].ToString();  
      lst.Add(Image.FromFile(cj_pic_path));
      }
      

  13.   

    把if(rs.Read())改成while(rs.Read())
      

  14.   

    数据库的help类自己准备啦,这样获得数据的话就不存在datareder未关闭的危险啦,呵呵,参考了哦public List<string> GetAllKe(){
      List<string> list = new List<string>();
      string sql = "select cj_path From cj_main";
      using (DataTable table = DBHelperSQL.GetDataSet(sql))
      {
      foreach (DataRow row in table.Rows)
      {
        string keAddress = row[0].ToString();
         list.Add(keAddress);    }
      return list;
      }
      }