添加修改删除案例的操作
一,新建一个主窗体,放一个ListView用来显示从数据库查出来的数据,上面放三个按钮,分别是添加,修改和删除
二,窗体加载时要从数据库查出数据来,并加载到ListView中
1.取数据——调用后端不同的方法,返回List<TeacherData>
2.显示出来——把List<TeacherData>加载到ListView中去
(1)做列表项——ListViewItem
(a)做主项 ListViewItem item = new ListViewItem(); item.Text=...;item.Tag=...;
(b)加子项 item.SubItems.Add(子项内容);
(2)加到列表上——ListView1.Items.Add()
三,分别做一个添加和修改窗体,在主窗体中用ShowDialog显示,返回一个DialogResult,当DIalogResult的值为OK的时候,在主窗体中再重新加载一遍数据库(刷新数据库)
四,在添加窗体中,窗体加载时,先把combobox中的内容加载上,最后点击确定按纽时返回一个dialogresult
1,做添加窗体
a.填充下拉列表
//取所有数据
//绑定到下拉列表中去。
b.编写“添加”按钮的代码。
//取界面上的数据,放到对象中去
//把造出来的对象扔到数据库中去
//返回DialogResult
2.在主界面中调用显示添加窗体:
以对话框形式显示出添加窗体。接收返回来的DialogResult
如果返回的是OK,就调用ShowTeacher()方法重新查遍数据库,刷新列表
五,在修改窗体中,要先选中要修改的项,窗体加载时,先把combobox中的内容加载上,再根据主键值从数据库中把数据查出来加载到相应的文本框中(需要先写一个构造函数,把主键值从主窗体中传出来,记住构造函数一定不要忘了后面:this()),修改完成后点击确定按钮把数据送回数据库并返回一个dialogresult
1.做修改窗体
a,填充下拉列表
//取所有数据
//绑定到下拉列表中去。
b.初始化数据。接收要修改主键,查询要修改的记录,放在修改窗体中。
//获取主键
定义个成员变量,用来保存传来的主键值。 private string _Key = "";
定义个构造函数,接收传来的值,保存在上面的成员变量中 public XXX(string code):this(){this._Key = code;}
//查询相应的记录
就用XXXXDA类的方法,把主键值传进去获得查询结果。
XXXXDA da = new XXXXDA();
XXXXData data = da.Select(_Key);
//把查出来的结果显示在窗体上。
把上面的查询结果放在窗体的控件中。
xxxx.Text = data.XXXX;
......
c.编写“更新”按钮中的代码。
//获取界面上的数据
XXXXData data = new XXXXData();
data.xXX = xxxx;
.....
//送回数据库
XXXXXDA da = new XXXXDA();
da.Update(data);
//返回DialogResult
this.DialogResult = ....OK;
2.在主界面中调用显示修改窗体。
(1)获取要修改的项的主键值。
(2)显示修改窗体对话框,并把主键值传过去。
(3)根据修改窗体返回的DialogResult,决定是否刷新显示。
六,做删除操作时,要先选中要删除的项,点击删除时弹出对话框,点击确定后,返回dialogresult,主窗体在重新加载一遍数据库
附:CodeSmith用法
1,打开CodeSmith,在Template文件夹下,右键点击CodeGenerator.cst,选择Execute
2,在table项中,选择要用到的表,然后点击下面的Generate
3,生成完毕后,将对应文件夹复制到VS里面解决方案文件下面
4,双击打开项目文件下的App.config,在里面的<configuration></configuration>标签里面添加<connectionStrings></connectionStrings>标签,在该标签内添加连接字符串标签<add name="conn" connectionString="server=.;database=mydb;uid=sa;pwd=123"/>
5,不要忘记添加引用system.configuration