C# 使用数据库对ListView控件数据绑定实现(查询搜索和右击新建文件操作)

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

前言

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

每日一遍,防止颓废

image-20211116194511132

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

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

image-20211116204704882

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

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

image-20211116204827282

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

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

image-20211117161250009

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

image-20211117160711255

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

image-20211117161647765

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

image-20211117162155951

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

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

image-20211117163004178

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

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

image-20211117163205800

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

image-20211117163532209

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J3F7jkq2-1637141858808)(https://i.loli.net/2021/11/17/2VdeytHiafKmN3B.gif)]

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进行删除,增加一个函数就可以了,博主觉得很简单就没有做更多的处理了,对于一个初学者,这篇文章还是能看懂的连接数据库可能对于初学者不友好,但是只要你认真学,跟着博主的逻辑走,还是可以理解的,博主这篇文章是基于上一篇文章基础之上的扩展篇。好了,创作不易,点赞关注评论收藏!!!!

12354689

  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IC00

打赏就发新文

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值