写点什么

C# 使用数据库对 ListView 控件数据绑定

作者:IC00
  • 2022 年 7 月 29 日
  • 本文字数:2544 字

    阅读完需:约 8 分钟

C# 使用数据库对ListView控件数据绑定

前言

之前的文章博主写了一篇关于 ListView 控件的简单处理,数据处理局限性很大,对于这个控件我们大都数都是连接数据库进行使用,我们的数据大多数都是动态的,所以我们如果只是简单的添加数据是有局限性的,所以今天这篇文章博主使用数据库对 ListView 这个控件进行数据绑定,算是对我们上一篇文章的扩展吧!!!嘿嘿,不会的童鞋可以评论或者私信问博主哦❤❤❤

每日一遍,防止颓废


(我们要为自己坚持着,哪怕困难再大再多)

1.将我们上一篇文章的项目打开,把静态的数据删除。我们采用数据库处理不会的同学需要看上一篇文章

2.使用数据库对 ListView 数据展示操作

2.1 双击窗体界面自动生成函数

2.2. 创建我们需要的数据库并写入值

博主使用的是 SQL server 没有这个数据库的同学可以用 MySQL 博主之前的文章有写


2.3. 使用代码对 ListView 控件与数据库建立连接并绑定数据

2.4. 使用数据库对 LIstVIew 控件进行数据绑定查询效果展示

3.使用对话框对数据库创建搜索查询

4.加一个窗体实现新建文件操作

4.1 使用 conTextMenuStrip 控件实现右击新建

4.2 实现窗体和窗体之间的跳转

新建一个窗体文件,并拖好样式,在需要跳转的函数里面实例化一个窗体 2,使用 Show 展示。


4.3 对”新建文件“窗体代码处理

5.整体代码展示,效果图

5.1 窗体 1 核心代码:

     private void Form1_Load(object sender, EventArgs e)        {            string connString = "server=.;database=mychat; User ID = sa; Pwd=123456";//写好数据库打开语句,博主使用的是SQL     server数据库,如果你是MySQL 可以看博主之前的文章里面有讲解。            SqlConnection conn = new SqlConnection(connString);//实列化            conn.Open();//打开数据库            string sql = "select name,type,size,date,Imageid from listview";//查询语句            SqlCommand cmd = new SqlCommand(sql, conn);//建立连接            SqlDataReader reader = cmd.ExecuteReader();            listView1.Items.Clear();//清空listView            while (reader.Read())//查询结果遍历,并进行数据绑定            {                ListViewItem item = new ListViewItem(reader[0].ToString().Trim());//Trim()清空空格                item.ImageIndex = Convert.ToInt32(reader[4]);//绑定图标id                item.SubItems.Add(reader[1].ToString().Trim());//数据绑定                item.SubItems.Add(reader[2].ToString().Trim());                item.SubItems.Add(reader[3].ToString().Trim());                this.listView1.Items.Add(item);            }            reader.Close();            conn.Close();        }        private void button4_Click(object sender, EventArgs e)        {            string connString = "server=.;database=mychat; User ID = sa; Pwd=123456";            SqlConnection conn = new SqlConnection(connString);            conn.Open();            string sql =string.Format("select name,type,size,date,Imageid from listview where name like '%{0}%';", textBox1.Text);//实现模糊查询            SqlCommand cmd = new SqlCommand(sql, conn);            SqlDataReader reader = cmd.ExecuteReader();            listView1.Items.Clear();            while (reader.Read())//添加数据和上面代码一致            {                ListViewItem item = new ListViewItem(reader[0].ToString().Trim());                item.ImageIndex =Convert.ToInt32(reader[4]);                item.SubItems.Add(reader[1].ToString().Trim());                item.SubItems.Add(reader[2].ToString().Trim());                item.SubItems.Add(reader[3].ToString().Trim());                this.listView1.Items.Add(item);            }            reader.Close();            conn.Close();        }
private void 新建文件ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) {
}
复制代码

5.2 窗体二核心代码:

 private void button2_Click(object sender, EventArgs e)//重置按钮        {            textBox1.Clear();//对textbox清空            textBox2.Clear();            textBox3.Clear();            textBox4.Clear();            textBox5.Clear();        } private void button1_Click(object sender, EventArgs e)//添加按钮        {            string connString = "server=.;database=mychat; User ID = sa; Pwd=123456";            SqlConnection conn = new SqlConnection(connString);            conn.Open();            string sql = string.Format("INSERT INTO listview(name, type, size, date, Imageid) VALUES('{0}','{1}','{2}','{3}',{4});",textBox1.Text, textBox2.Text, textBox3.Text+"MB", textBox4.Text,Convert.ToInt32(textBox5.Text));//添加数据语句            SqlCommand cmd = new SqlCommand(sql, conn);            int x =cmd.ExecuteNonQuery();//添加操作,成功了返回你添加数据的条数,否则为0            if (x > 0)            {                MessageBox.Show("添加成功");                this.Close();//添加成功,关闭这个窗体            }            else                MessageBox.Show("添加失败");        }    }
复制代码

总结

博主大致讲解了这个控件的操作,删除和添加差不多,我们可以在后面添加一个删除按钮,通过 name 进行删除,增加一个函数就可以了,博主觉得很简单就没有做更多的处理了,对于一个初学者,这篇文章还是能看懂的连接数据库可能对于初学者不友好,但是只要你认真学,跟着博主的逻辑走,还是可以理解的,博主这篇文章是基于上一篇文章基础之上的扩展篇。好了,创作不易,点赞关注评论收藏!!!!



用户头像

IC00

关注

还未添加个人签名 2022.07.14 加入

还未添加个人简介

评论

发布
暂无评论
C# 使用数据库对ListView控件数据绑定_七月月更_IC00_InfoQ写作社区