C#通过窗体应用程序操作数据库(增删改查)
为了体现面向对象的思想,我们把“增删改查”这些函数封装到一个数据库操作类里;
为了便于窗体程序与数据库之间进行数据交互,我们建一个具有数据库行数据的类,通过它方便的在窗体程序与数据库之间传输数据。
首先,建立程序的主窗体
㈠添加数据
当点击“增加”,弹出一个子窗体,通过子窗体往数据库中添加一条数据
private void button1_Click(object sender, EventArgs e) { Form5 insert= new Form5(); insert.Owner = this; insert.Show(); }
子窗体里的函数:
public partial class Form5 : Form { public Form5() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //将文本框中的数据存入SqlData类型的变量udata中 SqlData udata = new SqlData(); udata.Name = textBox1.Text; udata.Code = textBox2.Text; new SqlDA().addData(udata);//调用添加数据函数,添加数据udata } }
运行程序,添加数据,查看结果
㈡查询数据
第一个查询形式,
首先我们需要窗口一加载,就显示出数据库中的所有数据
首先,在存放方法的SqlDA类中,添加一个获取数据的成员方法,该方法能返回一个数据集合
//查询数据的方法 public List<SqlData> select() { List<SqlData> list=new List<SqlData>(); //连接数据库,访问数据 _cmd = _con.CreateCommand(); _con.Open(); _cmd.CommandText = "select *from users"; SqlDataReader dr= _cmd.ExecuteReader(); //将数据库数据转换成Sqldata类型,并放入list集合中 while (dr.Read()) { SqlData data=new SqlData(); data.Code = dr["code"].ToString(); data.Name = dr["name"].ToString(); data.Pwd = dr["pwd"].ToString(); list.Add(data); } _con.Close(); return list; }
然后定义一个绑定数据函数,该函数将上面成员方法返回的数据绑定到listview1中,显示出来
//绑定数据函数 public void bindData(List<SqlData> list) { //构建表结构 listView1.Columns.Add("编号"); listView1.Columns.Add("用户名"); listView1.Columns.Add("密码"); //将集合中的数据放入listview1中 foreach (SqlData data in list) { ListViewItem it = new ListViewItem();//构建一个listviewitem对象,通过它把数据放入listview1中 it.Text = data.Code; it.SubItems.Add(data.Name); it.SubItems.Add(data.Pwd ); listView1.Items.Add(it);//将数据放入listview1的items集合中, } }
然后窗体加载事件中,追加绑定数据函数的委托
//窗体一加载,在listview1中绑定数据 private void Form4_Load(object sender, EventArgs e) { bindData(new SqlDA().select()); }
运行结果
第二个查询形式,
在窗口中输入用户名,根据用户名进行模糊查询
首先写一个需要参数(用户名)的查询函数,我们可以写一个select的重载函数,如下
//查询数据的方法2,需要一个字符串参数,与上面的函数构成重载 public List<SqlData> select(string uname) { List<SqlData> list = new List<SqlData>(); //连接数据库,访问数据 _cmd = _con.CreateCommand(); _con.Open(); _cmd.CommandText = "select *from users where name like ‘%"+uname+"%‘"; SqlDataReader dr = _cmd.ExecuteReader(); //将访问到的数据库数据转换成Sqldata类型,并放入list集合中 while (dr.Read()) { SqlData data = new SqlData(); data.Code = dr["code"].ToString(); data.Name = dr["name"].ToString(); data.Pwd = dr["pwd"].ToString(); list.Add(data); } _con.Close(); return list; }
点击“查询”按钮
//通过输入用户名,查询数据 private void button4_Click(object sender, EventArgs e) { listView1.Items.Clear(); bindData(new SqlDA().select(textBox1.Text)); }
㈢修改数据
首先,将FullRowSelect属性设为True
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。