C#中清空ListView中的數據


  我的顯示數據的方式通過button按鈕點擊事件,當點擊之后查詢數據庫庫並將數據顯示出來。

  代碼如下:

private void button6_Click(object sender, EventArgs e)
        {
            this.listView1.View = System.Windows.Forms.View.Details;
listView1.Items.Clear();//每次點擊事件后將ListView中的數據清空,重新顯示        
       
//此處是設置表頭,注釋掉是因為我在CS[設計]將ListView的屬性Columns設置了,所以此處注釋
//this.listView1.Columns.Add("編號", 100, HorizontalAlignment.Left); //this.listView1.Columns.Add("用戶名", 100, HorizontalAlignment.Left); //this.listView1.Columns.Add("密碼", 100, HorizontalAlignment.Left); //設置listview列 SqlConnection connect = new SqlConnection(); //使用Data接口SqlClient類中成員SqlConnection connect.ConnectionString = ("Server=127.0.0.1;UID=sa;PWD=sql;database=basic"); //給連接對象字符串,使用SQL2008數據庫 try { connect.Open(); } //嘗試打開連接 catch { MessageBox.Show("連接失敗消息", "消息標題"); } //捕捉異常 finally { connect.Close(); } //最終過程還是關閉連接,得到數據集就不需要再打開了 DataSet ds = new DataSet(); //使用數據集成員DataSet對象 string sql = "select * from db_stuusers where teacher='" + userstr + "'"; SqlDataReader datareader; connect.Open(); SqlCommand command = new SqlCommand(sql,connect); datareader = command.ExecuteReader(); //SqlDataAdapter sda = new SqlDataAdapter(sql, connect); //調用數據容器讀取數據 //sda.Fill(ds); //把數據讀到數據集合 if (!datareader.HasRows) //如果沒有查詢到記錄則 datareader.HasRows=false 否則 true { MessageBox.Show("沒有查詢到數據"); } while (datareader.Read()) { ListViewItem lt = new ListViewItem(); //將數據庫數據轉變成ListView類型的一行數據 lt.Text = datareader["ID"].ToString().Trim();//ID為數據庫的列名,將數據與表頭綁定顯示 lt.SubItems.Add(datareader["username"].ToString().Trim()); lt.SubItems.Add(datareader["password"].ToString().Trim()); //將lt數據添加到listView1控件中 listView1.Items.Add(lt); } datareader.Close(); connect.Close(); }

  剛開始我使用的是ListView1.Clear(),來清空數據庫內容,經運行發現數據沒有沒有清空,才發現需要使用ListView1.Items.Clear();。

  這是因為前者是刪除ListView的整個結構,而后者僅僅只刪除ListView中的內容(即Item和subitem)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM