usingSystem;usingSystem.Data;using System.Data.Entity; //引用数据实体
usingSystem.Linq;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1
{public partial classForm1 : Form
{publicForm1()
{
InitializeComponent();
}string selectedName; //记录被选中的名称
private void Form1_Load(objectsender, EventArgs e)
{using(TestEntities2 db=new TestEntities2()) //实体(entity)模型对象
{
dataGridView1.DataSource= db.Table_1.ToList();//控件中显示表中所有信息
}
}private void button1_Click(object sender, EventArgs e) //增
{using(TestEntities2 db=newTestEntities2())
{
Table_1 table= new Table_1 //表的对象
{
Name= textBox1.Text, //为字段赋值
Price =Convert.ToInt32(textBox2.Text)
};//通过实体来操纵数据库中的表
db.Table_1.Add(table);//增
db.SaveChanges();//执行命令
dataGridView1.DataSource = db.Table_1.ToList();//重新展示数据源
}
}private void button2_Click(object sender, EventArgs e) //改
{using (TestEntities2 db=newTestEntities2 ())
{
Table_1 table= new Table_1 //表的对象
{
Name= textBox1.Text, //依据主键,修改内容
Price = Convert.ToInt32(textBox2.Text) //更改的内容
};
db.Entry(table).State= EntityState.Modified; //改
db.SaveChanges(); //执行命令
dataGridView1.DataSource = db.Table_1.ToList(); //展示
}
}private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) //删,快捷菜单中实现
{using (TestEntities2 db=newTestEntities2 ())
{//控件中水果名,来锁定数据库表中商品所在行
Table_1 table = db.Table_1.Where(W => W.Name == selectedName).FirstOrDefault(); //lambda表达式
if (table!=null)
{
db.Table_1.Remove(table);//删
db.SaveChanges(); //执行命令
dataGridView1.DataSource =db.Table_1.ToList();
MessageBox.Show("删除成功!");
}else{
MessageBox.Show("请选择要删除的内容!");
}
}
}private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) //查,鼠标点击单元格
{if (e.RowIndex>=0) //判断是否选择了行
{//控件中,获取选中的水果名
selectedName = Convert.ToString(dataGridView1[0, e.RowIndex].Value).Trim();using (TestEntities2 db=newTestEntities2() )
{//获取选中对象所在的行(Name是数据表的主键)
Table_1 table = db.Table_1.Where(W => W.Name ==selectedName).FirstOrDefault();if (table!=null) //不为空,则展示此水果的行内容
{
textBox1.Text=table.Name;
textBox2.Text=table.Price.ToString();
}
}
}
}
}
}