private void Form1_Load(object sender, EventArgs e)
        {            listView1.Items.Clear();
            SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=view;User ID=sa;Pwd=666666");
            //连接口,连接数据库。?
            {
                try
                {
                    conn.Open();          //打开连接   
                    MessageBox.Show("已正确建立连接", "连接正确对话框");
                }
                catch (SqlException Sqle)
                {
                    MessageBox.Show(Sqle.Message, "连接失败对话框");
                    return;
                }
                // string strCom = "Insert into vell (ID,name,shijian) Values('100001','1','2010-4-20 6:30:00') ";//插入数据
                string strCom = " select * from vell ";
                SqlCommand cmd = new SqlCommand(strCom, conn);
                this.listView1.Columns.Add("ID", 80, HorizontalAlignment.Center);
                this.listView1.Columns.Add("name", 80, HorizontalAlignment.Center);
                this.listView1.Columns.Add("shijian", 80, HorizontalAlignment.Center);
                listView1.View = View.Details;
                listView1.GridLines = true;
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    ListViewItem Item = new ListViewItem();
                    Item.SubItems.Clear();                    Item.SubItems[0].Text = dr["ID"].ToString() + "  " + dr["name"].ToString()+" "+dr["shijian"].ToString();//读取数据库中字段 
                    //Item.SubItems[0].Text = dr["stud_name"].ToString();
                    listView1.Items.Add(Item);//显示                   }
                conn.Close();
            }
        }
还是连接问题。。为什么显示时候只是第一列中显示数据,而不是在各个列中显示。。就是现在的数据都显示在ID列中。。而不是正确的显示在ID,name,shijian列中。
用VS2008和SQL2005做的。。哎继续努力帮忙下谢谢了···

解决方案 »

  1.   

    ListViewItem item;
    item = new ListViewItem("",0);
    item.SubItems.Add("");
    item.SubItems.Add("");
    this.listView1.Items.Add(item);
      

  2.   

    Item.SubItems[0].Text = dr["ID"].ToString() + " " + dr["name"].ToString()+" "+dr["shijian"].ToString();//读取数据库中字段  
      //Item.SubItems[0].Text = dr["stud_name"].ToString();
      listView1.Items.Add(Item);//显示  
     
    ==========》》》》Item.SubItems[0].Text=dr["ID"].ToString();
    Item.SubItems.Add(dr["name"].ToString());
    Item.SubItems.Add(dr["shijian"].ToString());
    listView1.Items.Add(Item);//显示   
      

  3.   

    你对listview控件的使用方法是错误的:Item.SubItems[0].Text = dr["ID"].ToString() + " " + dr["name"].ToString()+" "+dr["shijian"].ToString();//读取数据库中字段 
      //Item.SubItems[0].Text = dr["stud_name"].ToString();
      listView1.Items.Add(Item);//显示 应该这么写:ListViewItem Item = new ListViewItem();
      Item.SubItems.Clear();  Item.SubItems[0].Text = dr["ID"].ToString();
      ListViewItem.ListViewSubItem subItem1 = new ListViewItem.ListViewSubItem(Item,dr["name"].ToString() );
      ListViewItem.ListViewSubItem subItem2 = new ListViewItem.ListViewSubItem(Item, dr["shijian"].ToString());
      Item.SubItems.Add(subItem1);
      Item.SubItems.Add(subItem2);
      listView1.Items.Add(Item);//显示