这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战
前言
之前的文章博主写了一篇关于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进行删除,增加一个函数就可以了,博主觉得很简单就没有做更多的处理了,对于一个初学者,这篇文章还是能看懂的连接数据库可能对于初学者不友好,但是只要你认真学,跟着博主的逻辑走,还是可以理解的,博主这篇文章是基于上一篇文章基础之上的扩展篇。好了,创作不易,点赞关注评论收藏!!!!
近期评论