using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;namespace HotelManager
{
    class RoomInitialize
    {
        private string conString = "server=.;database=Hotel_Manager;uid=admin;pwd=admin";
        private string queryString = "select [roomid] from roominformation";
        SqlConnection conHotelManager = new SqlConnection();
        
        ListViewItem lvi;
        public RoomInitialize(ListView lvwMainView)
        {
            try
            {
                conHotelManager.ConnectionString = conString;
                if (conHotelManager.State == ConnectionState.Closed)
                {
                    conHotelManager.Open();
                    SqlCommand cmdRoomInfo = new SqlCommand();
                    cmdRoomInfo.CommandText = queryString;
                    cmdRoomInfo.Connection = conHotelManager;
                    SqlDataReader Sdr = cmdRoomInfo.ExecuteReader();
//将下面的处理结果添加到winform上的ListView中显示
                   while (Sdr.Read())
                    {
                        lvwMainView = new ListView();
                        lvi = new ListViewItem();
                        lvi.Text = (Sdr.GetValue(0).ToString()).Trim();
                        lvi.ImageIndex = 0;
                        lvwMainView.Items.Add(lvi);
                    }

                    Sdr.Close();
                }
              
            }
            catch (Exception err)
            {                MessageBox.Show("数据库信息:" + err.Message);
            }
        }
    }
}

解决方案 »

  1.   

    在有ListViewBox的窗口上使用这个类,就好了呀:
    调用RoomInitialize时传入一个窗口上的ListViewBox
    RoomInitialize(lvwMainView);
      

  2.   

    我在类中加过这个参数,运行后窗口内并没有ITEM项
      

  3.   

    你的类中有两处明显的错误:         //ListViewItem lvi;删除这行
            public RoomInitialize(ListView lvwMainView)
            {
               .....
                while (Sdr.Read())
               {
                   //lvwMainView = new ListView();删除这行
                   [color=#FF0000]ListViewItem lvi= new ListViewItem();             
                    lvi.Text = (Sdr.GetValue(0).ToString()).Trim();
                    lvi.ImageIndex = 0;
                    lvwMainView.Items.Add(lvi);
                }
               Sdr.Close();
               .....
      

  4.   

      //ListViewItem lvi;删除这行
      public RoomInitialize(ListView lvwMainView)
      {
      .....
      while (Sdr.Read())
      {
      //lvwMainView = new ListView();删除这行
      ListViewItem lvi= new ListViewItem();   
      lvi.Text = (Sdr.GetValue(0).ToString()).Trim();
      lvi.ImageIndex = 0;
      lvwMainView.Items.Add(lvi);
      }
      Sdr.Close();
      .....
      

  5.   

    this.Controls.Add(lvwMainView);
    或窗体添加listview控件,命名为lvwMainView