有一个职员信息表-Employee
CREATE TABLE Employee(
id int identity(1, 1),
name nvarchar(30),
sex byte
)
C#项目里有个Employee类
class Employee
{
private int id;
private string name;
private sex byte; public int ID{get(return this.id;} set{this.id = value;}}
public string Name{get(return this.name;} set{this.name = value;}}
public byte sex{get(return this.sex;} set{this.sex = value;}}}有一个Form,在Form里有个ListView用于显示所有用户,并提供添加、删除、修改操作
作到这我就蒙了,我应该怎么设计,比如Employee要怎么初始化,应该提供哪些方法,静态还是非静态?特迷惘,前辈们指点一下,谢谢!
CREATE TABLE Employee(
id int identity(1, 1),
name nvarchar(30),
sex byte
)
C#项目里有个Employee类
class Employee
{
private int id;
private string name;
private sex byte; public int ID{get(return this.id;} set{this.id = value;}}
public string Name{get(return this.name;} set{this.name = value;}}
public byte sex{get(return this.sex;} set{this.sex = value;}}}有一个Form,在Form里有个ListView用于显示所有用户,并提供添加、删除、修改操作
作到这我就蒙了,我应该怎么设计,比如Employee要怎么初始化,应该提供哪些方法,静态还是非静态?特迷惘,前辈们指点一下,谢谢!
比如我要建一个人的类。那首先我要收集各种特征(定义private变量);然后实现相关方法(比如听音乐,上课)
比如你要一个数据库操作类:首先你要定义各种变量:数据库连接对象;sqlcommand对象等等;
实现方法:比如你要增加数据就要实现Add方法;删除数据就要实现del方法等等。
我来说说吧,正好有过写过ListView控件的程序。为btn_Add建立一个事件(双击生成):
//先看看在ListView中有没有相同的相,假设你的ListView控件名为:lsvEmployee
//ListView控件有三个栏:1是ID,2是Name,3是Sex
Employee emp=new Employee();
bool b=false;
foreach(ListViewItem item in lsvEmployee.Items)
{
if(item.subItems[0].Text==Convert.ToString(emp.ID))
{
b=true;break;
}
}
if(!b)//没有和ListView中的已有相重复,可以添加上去。
{
ListViewItem newItem=new ListViewItem();
newItem=lsvEmployee.Items.Add((emp.ID).ToString());
newItem.subItems[1].Text=emp.Name;
newItem.subItems[2].Text=Convert.ToString(emp.Sex);
}
删除操作:
//先判断ListView控件中有没有项目被选中,然后删除选中的项目
if(lsvEmployee.SelectedItems.Count!=0)
{
lsvEmployee.Items.Remove(lsvEmployee.SelectedItems[0]);//记得最好你的ListView控件设置不可多选
//否则需要循环删除。
}
修改操作:
//先判断ListView控件中有没有项目被选中,然后修改选中的项目
if(lsvEmployee.SelectedItems.Count!=0)
{
lsvEmployee.SelectedItems[0].subItems[0].Text=tempID;
lsvEmployee.SelectedItems[0].subItems[1].Text=tempName;
lsvEmployee.SelectedItems[0].subItems[2].Text=tempSex;
}
上述代码中没有良好的互操作性,你可以添加一些MessageBox,记得为之using System.Windows.Form;
希望对你有点帮助。
如果对你有用,记得给分呀。
另外还要注意数据操作,对于添加、修改、删除操作可以使用菜单、也可以使用按钮等,但是对于具体的操作还是要通过SQL语句执行,要通过Sql的相关处理对象
您的分真的太少了,要不我给您编一个是可以考虑的。假设您用的是SQL Serverse 2000数据库,您可以把表读入到DataSet中:
string source="server=(local); integrated security=SSPI ; database=youDBname";;//连接字符串
SqlConnection conn=new SqlConnection(source);
string sql="Select * From Employee";
SqlDataAdapter adapter=new SqlDataAdapter(sql,conn);
DataSet ds=new DataSet("Employee");
adapter.Fill(ds,"Employee");写道这里,建议您再建一个类:EmpArr 用来保存Employee对象集,它有两个成员:ListArray empArr ;
int _length;并为之写一个Add方法然后接着写:
string strID,strName,strSex;
EmpArr ea;
foreach(DataRow row in ds.Table["Employee"].Rows)
{
strID=row[0].ToString().Trim();
strName=row[1].ToString().Trim();
strSex=row[2].ToString().Trim();
ea.Add(new Employee(strID,strName,strSex));
}这样就完成了
好像我把它都快编完了,就差将ListView控件中修改后的项目更新数据库了。希望我写的这点东西对您有帮助。