• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#大学课程(第五版)课后习题22.7修改Baseball 数据库程序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

/*22.7
(Baseball 数据库程序)建立一个程序,它对Baseball 数据库中的Players 表执行查询,这个数据库和表包含在本章例子目录中的Databases文件夹下。在DataGridView中显示这个表的内容并增加一个文本框和一个按钮,以使用户能够根据姓氏搜索特定的球手。需包含一个卷标来标示这个文本框。单击这个按钮后应执行合适的查询。此外,还需提供一个按钮,它使用户能够回退到浏览全部的球手信息。
(修改Baseball 数据库程序)修改上题,以使用户能够找出平均击球成绩位于一个指定范围内的球手。添加一个minimumTextBox 文本框用于最小平均击球成绩( 默认为0.00),添加一个mumTextBox 文本框用于最大平均击球成绩( 默认为1.000),需包含一个卷标来标示每个文本框。添加一个按钮,用于执行从Players 表中选择行的查询,其中的BttingAverage 列应大于或等于指定的最小值,而应小于或等于指定的最大值。
*/
using System;
using System.Data;
using System.Data.Entity;
using System.Data.Entity.Validation;
using System.Linq;
using System.Windows.Forms;
namespace BaseballPlayers
{
public partial class BaseballPlayers : Form
{
public BaseballPlayers()
{
InitializeComponent();
}
private BaseballExercises.BaseballEntities dbcontext = null;
private void RefreshPlayers()
{
if ( dbcontext != null )
dbcontext.Dispose();
dbcontext = new BaseballExercises.BaseballEntities();
dbcontext.Players
.OrderBy( entry => entry.LastName )
.ThenBy( entry => entry.FirstName )
.Load();
playerBindingSource.DataSource = dbcontext.Players.Local;
playerBindingSource.MoveFirst();
findTextBox.Clear();
}
private void BaseballPlayers_Load( object sender, EventArgs e )
{
RefreshPlayers();
}
private void findButton_Click( object sender, EventArgs e )
{
var lastNameQuery =
from address in dbcontext.Players
where address.LastName.StartsWith( findTextBox.Text )
orderby address.LastName, address.FirstName
select address;
playerBindingSource.DataSource = lastNameQuery.ToList();
playerBindingSource.MoveFirst();
bindingNavigatorAddNewItem.Enabled = false;
bindingNavigatorDeleteItem.Enabled = false;
}
private void browseAllButton_Click( object sender, EventArgs e )
{
bindingNavigatorAddNewItem.Enabled = true;
bindingNavigatorDeleteItem.Enabled = true;
RefreshPlayers();
}
private void playerBindingNavigatorSaveItem_Click(
object sender, EventArgs e )
{
Validate();
playerBindingSource.EndEdit();
try
{
dbcontext.SaveChanges();
}
catch ( DbEntityValidationException )
{
MessageBox.Show( "Columns cannot be empty",
"Entity Validation Exception" );
}
RefreshPlayers();
}
private void averageButton_Click( object sender, EventArgs e )
{
decimal minimum = Convert.ToDecimal( minimumTextBox.Text );
decimal maximum = Convert.ToDecimal( maximumTextBox.Text );
var averageQuery =
from player in dbcontext.Players
where player.BattingAverage >= minimum
&& player.BattingAverage <= maximum
orderby player.PlayerID
select player;
playerBindingSource.DataSource = averageQuery.ToList();
playerBindingSource.MoveFirst();
bindingNavigatorAddNewItem.Enabled = false;
bindingNavigatorDeleteItem.Enabled = false;
}
}
}
namespace BaseballExercises
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class BaseballEntities : DbContext
{
public BaseballEntities()
: base("name=BaseballEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<Player> Players { get; set; }
}
}
namespace BaseballExercises
{
using System;
using System.Collections.Generic;
public partial class Player
{
public int PlayerID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public decimal BattingAverage { get; set; }
}
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# 中的多线程(转载)发布时间:2022-07-10
下一篇:
c# HMM发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap