C# 使用数据库对ListView控件数据绑定实现(查询搜索

这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战

前言

之前的文章博主写了一篇关于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.整体代码展示,效果图

我的作品4 00_00_00-00_00_30

5.1窗体1核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
ini复制代码     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 窗体二核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
scss复制代码 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

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%