我是通过代码把数据表中的数据绑定到Listbox上的,现在就是想通过Timer控件实时更新数据Listbox上的内容当数据库表的内容改变时。请教高手帮忙,或许只是很恨简单的事(我不懂)。可行就给分!

解决方案 »

  1.   

            private void Form1_Load(object sender, EventArgs e)
            {
                string sqlString = "select  SongName,UserName,SingerName from  songs";
                DataSet ds = GetSet(sqlString);
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    listBox1.Items.Add(row["UserName"].ToString() + "—" + row["SongName"].ToString() + "—" + row["SingerName"].ToString().PadRight(1));
                }        }
            DataSet GetSet(string queryString)
            {
                using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=MusicItem;Integrated Security=True"))
                {
                    DataSet ds = new DataSet();
                    conn.Open();
                    SqlDataAdapter adapter = new SqlDataAdapter(queryString, conn);
                    adapter.Fill(ds);
                    return ds;
                }
            }这是我数据绑定的代码,谢谢了
      

  2.   

     private void timer1_Tick(object sender, EventArgs e)
            {
                string sqlString = "select SongName,UserName,SingerName from songs";
                DataSet ds = GetSet(sqlString);
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    listBox1.Items.Add(row["UserName"].ToString() + "—" + row["SongName"].ToString() + "—" + row["SingerName"].ToString().PadRight(1));
                }
            }        不知道是不是这个意思啊。
      

  3.   

    你这样加载的话,就会在Listbox中无限加载原本就存在的数据,至少也要加条Listbox1.items.clear();吧,不过我不想通过这样删掉在加载,我只是想刷新原本加载的表。