最新C#复习资料.docx

上传人:1595****071 文档编号:34718527 上传时间:2022-08-18 格式:DOCX 页数:42 大小:413.07KB
返回 下载 相关 举报
最新C#复习资料.docx_第1页
第1页 / 共42页
最新C#复习资料.docx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《最新C#复习资料.docx》由会员分享,可在线阅读,更多相关《最新C#复习资料.docx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC#复习资料C#复习资料小二班C#复习资料注:第一步:附加数据库,看清楚数据库名称及数据库内的表名。第二步:打开素材里的vs素材。做老师要求你们编写的代码。三个步骤:1定义一个string sql = String.Format(select * from UserInfo where UserName = 0 and UserPassword = 1, txtUse

2、rName.Text, txtUserPassword.Text);2调用DaaSet ds = DBHelper.GetDataSet(sql);3.判断if (ds.Tables0.Rows.Count = 0)插入数据: insert into 表名 values 值(values后的值写的是占位符就加String.Format())修改数据: update 表名set 字段1=值1 where 值删除数据: delete 表名 where值(修改update、删除delete别写错单词了)红色的字体是解析,绿色的是注释,绿色的注释考试时不用写的。一.定义CDataBase公共类:usi

3、ng System.Data.SqlClient;using System.Data;using System.Windows.Forms;解析:这三个需要导入公共类里。public static SqlConnection conn = new SqlConnection(Data Source =.; Initial Catalog = Hotel; Integrated Security = SSPI);解析:注意括号内的,第一个分号是服务器的名称,第二个是数据库名称,到时注意老师给的是什么数据库,最后一个分号不用改。 public static DataSet GetDataSet(s

4、tring SQLString) / 执行查询语句,返回DataSet try SqlDataAdapter sda = new SqlDataAdapter(SQLString, conn); DataSet ds = new DataSet(); sda.Fill(ds);return ds;catch (System.Data.SqlClient.SqlException ex) throw new Exception(ex.Message); finally 解析:GetDataSet适用所有的select命令。ExecuteSql适用修改、插入语句。public static int

5、 ExecuteSql(string SQLString) / 执行SQL语句,获得数据库中因为执行sql命令后受到影响的记录数 try conn.Open(); SqlCommand cmd = new SqlCommand(SQLString, conn); int rows = cmd.ExecuteNonQuery(); return rows; catch (System.Data.SqlClient.SqlException e) throw e; finally conn.Close(); 二登录代码:public static string na;解析:定义一个变量nastri

6、ng sql = String.Format(select * from UserInfo where UserName = 0 and UserPassword = 1, txtUserName.Text, txtUserPassword.Text);解析:考试时注意from后面的表名 。 DaaSet ds = DBHelper.GetDataSet(sql); /将执行的结果放在ds中解析: 调用公共类的GetDataSetif (ds.Tables0.Rows.Count = 0) MessageBox.Show(该用户名或密码不存在!); txtUser.Text = ; txtPa

7、ssword.Text = ; txtUser.Focus(); 解析:通过检测ds中表的行数是否等于0来判断能否查找的到数据,显示消息,清空用户名,密码文本框,光标放在用户名文本框上。 else na = txtUser.Text; HotelManage f = new HotelManage(); f.Show(); this.Hide();/隐藏登录窗体解析:这个frmHotelManage是酒店管理窗体,到时候你可以根据老师给你的主窗体的名称是什么进行修改。 三进入系统时欢迎:private void HotelManage_Load(object sender, EventArgs

8、 e) ts.Text = Login.na + ,欢迎进入酒店管理系统; 解析:这是是对HotelManage_窗体加载的编程。标签名称+用户名名称。 Login.na 的na在登录编码中定义了na四退出代码: Application.Exit();/或this.Close();五添加代码:string sql = string.Format(insert into UserInfo values(0,1,2),txtUserName.Text,txtUserPassword.Text,cboUserType.Text);解析:定义变量,把UserInfo表的三个值添加进来显示在文本框内if

9、 (txtUserName.Text != & txtUserPassword.Text != & cboUserType.Text != )解析;用户名,密码,类型,不为空值就调用下面DBHelper 中的ExecuteSql int result = DBHelper.ExecuteSql(sql); if (result = 1) /根据返回影响行数判断是否删除数据成功 MessageBox.Show(用户添加成功!, 成功提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(用户添加失败!

10、, 错误提示, MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show(请检查数据输入的正确性!, 错误提示, MessageBoxButtons.OK, MessageBoxIcon.Information); 六修改代码: string sql = string.Format(update UserInfo set UserPassword=0,UserType=1 where UserName=2,txtUserPassword.Text, cboUserType.Text, txtUserName.Text);

11、 int result;/定义修改语句执行后的影响行数 if (txtUserName.Text != & txtUserPassword.Text != & cboUserType.Text != ) result = DBHelper.ExecuteSql(sql);/执行修改语句,返回影响行数 if (result = 1)/根据返回影响行数判断是否修改数据成功 MessageBox.Show(用户修改成功!, 成功提示, MessageBoxButtons.OK, MessageBoxIcon.Information); DataBind();/刷新数据库 else MessageBo

12、x.Show(用户修改失败!, 错误提示, MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show(请检查数据输入的正确性!, 错误提示, MessageBoxButtons.OK, MessageBoxIcon.Information); 七删除代码: if(txtUserName.Text=admin) MessageBox.Show(不能删除admin用户!,提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else if (txtUserName.Text =

13、 Login.na) MessageBox.Show(不能删除当前登录用户!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); else string sql = string.Format(delete UserInfo where UserName=0, txtUserName.Text);解析:删除用delete,注意delete别写错了。 int result = DBHelper.ExecuteSql(sql); /执行修改语句,返回影响行数 if (result = 1) /根据返回影响行数判断是否修改数据成功 MessageB

14、ox.Show(用户删除成功!, 成功提示, MessageBoxButtons.OK, MessageBoxIcon.Information); DataBind();/刷新数据库 else MessageBox.Show(用户删除失败!, 错误提示, MessageBoxButtons.OK, MessageBoxIcon.Error); 八查询代码: string strsql = select * from RoomInfo where 1=1;解析:条件设置为1=1,方便后面的多条件组合查询。 if (txtRoomNumber.Text != )/判断客房号是否为空解析:!= 是不

15、等于的意思。 strsql = strsql + and RoomNumber= + txtRoomNumber.Text + ; if (cboRoomType.Text != )/判断客房类型是否为空 strsql = strsql + and RoomType= + cboRoomType.Text + ; if (cboRoomStatus.Text != )/判断客房状态是否为空 strsql = strsql + and RoomStatus= + cboRoomStatus.Text + ; DataSet ds = DBHelper.GetDataSet(strsql); /调

16、用公共类DBHelper中的GetDataSet方法获得查询结果 if (ds.Tables0.Rows.Count = 0) MessageBox.Show(没有满足条件的记录!); else dgvRoomInfo.DataSource = ds.Tables0;/将ds中的表作为DataGridView的数据源 dgvRoomInfo.Columns0.HeaderText = 客房号码; dgvRoomInfo.Columns0.Width = 80; dgvRoomInfo.Columns1.HeaderText = 客房类型; dgvRoomInfo.Columns1.Width

17、= 120; dgvRoomInfo.Columns2.HeaderText = 客房价格; dgvRoomInfo.Columns2.Width = 80; dgvRoomInfo.Columns3.HeaderText = 客房状态; dgvRoomInfo.Columns3.Width = 80; dgvRoomInfo.Columns4.HeaderText = 客房说明; dgvRoomInfo.Columns4.Width = 200; 解析: 将数据表控件的列标题显示为中文,宽度Width可不写。 DBHelper.conn.Close();/关闭 九将数据控件的内容填充到文本框

18、中:txtRoomType.Text = dgvRoomInfo.CurrentCell.OwningRow.Cells1.Value.ToString();/取当前选中行的第2列 txtRoomNumber.Text = dgvRoomInfo.CurrentCell.OwningRow.Cells0.Value.ToString(); txtRoomPrice.Text = dgvRoomInfo.CurrentCell.OwningRow.Cells2.Value.ToString(); txtRoomRemarks.Text = dgvRoomInfo.CurrentCell.Owni

19、ngRow.Cells4.Value.ToString();十查询到的表第x列,x行txtCustomerName.Text = ds.Tables0.Rows01.ToString();txtCheckInTime.Text = ds.Tables0.Rows06.ToString();txtDays.Text = ds.Tables0.Rows07.ToString();txtRoomPrice.Text = ds.Tables0.Rows08.ToString();txtAccountPayable.Text=(int.Parse(txtDays.Text)*decimal.Parse(

20、txtRoomPrice.Text).ToString();txtDeposit.Text = ds.Tables0.Rows05.ToString();十一.注册不能重复string tm=string.Format(select * from tbl_User where userName=0,txtUserName.Text); DataSet ds=CDataBase.GetDataFromDB(tm); if (ds.Tables0.Rows.Count = 0) /没有同名用户,此处不能用ds=null string sql = string.Format(insert into

21、tbl_User values(0,1,2,是), txtUserName.Text,CPublic.GetMd5Str(txtPassword.Text), cmbPurview.Text); if (CDataBase.UpdateDB(sql) = false) MessageBox.Show(注册失败); else MessageBox.Show(注册成功); RefreshData(); else MessageBox.Show(不能注册同名用户!n请重新输入用户名!,注册用户,MessageBoxButtons.OK,MessageBoxIcon.Warning);/ n表示换行

22、clear();/清空 注:考试的时候有的同学会碰到商品管理系统,系统里的商品编码不能重复,所以运用这段编码灵活运用。十二.删除代码private void btnDelete_Click(object sender, EventArgs e) if (dgrdvSelected.DataSource != null) string s = dgrdvSelected.CurrentCell.OwningRow.Cells2.Value.ToString(); string sr = dgrdvSelected.CurrentCell.OwningRow.Cells0.Value.ToStri

23、ng(); DialogResult jg = MessageBox.Show(确定要删除“ + s + ”课程吗?, 删除记录, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (jg = DialogResult.Yes) string sql = string.Format(delete tbl_SelectCourse where Cno=0 and Sno=1, s, sr); if (CDataBase.UpdateDB(sql) = false) Mess

24、ageBox.Show(删除失败); else MessageBox.Show(删除成功); string sqlStr = string.Format(select tbl_SelectCourse.Sno,tbl_Student.Sname,tbl_SelectCourse.Cno,tbl_Course.Cname,tbl_Course.Csemester,tbl_SelectCourse.grade from tbl_Student,tbl_Course,tbl_SelectCourse where tbl_Student.Sno=tbl_SelectCourse.Sno and tbl_Course.Cno=tbl_SelectCourse.Cno and tbl_SelectCourse.Sno=0, FrmLogin.na); DataSet ds1 = CDataBase.GetDataFromDB(sqlStr); dgrdvSelected.DataSource = ds1.Tables0; else MessageBox.Show(没有可以删除的记录!); 加油! 注:这一段删除的代码是最近学的,比第七点的删除编码视觉上看起来要多一点,但是步骤都是一样的。你们喜欢哪一种就怎么用吧。-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁