版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生信息管理系统任务1:连接数据库任务2:添加、删除学生信息任务3:查询、修改学生信息项目八利用C#和数据库编程,编写学生信息管理系统。要求用多文档窗体实现学生信息的增加、按学号删除学生、修改学生信息和显示所有学生信息的功能。ADO.NET是.NETFramework用于访问数据库的一种技术。Microsoft通过ADO.NET向编程人员提供了功能强大的数据访问能力,既可以直接在编程模式下通过输入程序代码设计数据访问程序,也可以利用系统提供的数据访问向导直接进行可视化程序设计。通过本项目设计,主要介绍ADO.NET的概念及其对象等有关数据库访问的内容。项目引入熟悉ADO.NET概述和功能掌握.NETFramework数据提供程序核心对象掌握理解并使用记录集(DataSet)对象掌握理解并使用DataGridView显示和操作数据库
学习目标学生信息管理系统要求利用C#和ADO.NET编程,使用多文档窗体实现学生信息的增加、按学号删除学生、修改学生信息和显示所有学生信息的功能,系统主界面效果如图8-1所示:项目描述单击主窗体菜单的添加学生信息菜单,弹出添加学生信息窗体,效果如图8-2所示:此时,用户输入要添加的学生信息,单击“添加”按钮,弹出”学生信息添加成功!”消息框,单击“关闭”按钮,关闭本窗体,效果如图8-3所示:项目描述单击主窗体菜单的删除学生信息菜单,弹出删除学生信息窗体,单击“关闭”按钮,关闭本窗体。效果如图8-4所示:如果输入的学号存在,则删除该记录,并给出提示:[删除成功]。效果如图8-5所示:项目描述如果输入的学号不存在,要给出提示:[学号不存在,无法删除]。效果如图8-6所示:单击主窗体菜单的查看学生信息菜单,弹出显示所有学生信息窗体。窗体中列名必须是中文,该窗体只能显示,不能进行添加或修改或删除操作。效果如图8-7所示:项目描述单击主窗体菜单的修改学生信息菜单,弹出修改学生信息窗体。窗体加载时,下方的列表显示所有学生信息,用户选中某行数据,将数据显示在上方对应文本框中,供用户修改
窗体中列名必须是中文。效果如图8-8所示:用户在上方文本框中修改完数据,点击“修改”按钮,则修改该记录,并给出提示:[修改记录成功!]。点击“关闭”按钮,关闭本窗体。效果如图8-9所示:项目描述任务1:连接数据库任务2:添加、删除学生信息任务3:查询、修改学生信息工作任务任务描述
要完成学生信息管理系统功能,首先必须要连接后台数据库,实现对学生信息的增、删、改、查操作。任务1连接数据库1.
ADO.NET知识引入任务1连接数据库(1)ADO.NET概述ADO.NET是一个以.NET框架为基础的全新的数据操作模型,是专门为.NET平台上的数据访问而设计的,更适用于分布式和Internet访问等大型应用程序的开发,也可使程序设计人员以更方便、直观的方式来存取数据。ADO.NET由MicrosoftActiveXDataObjects(ADO)改进而来,它提供平台互用和可收缩的数据访问功能,它是微软开发的一个COM组件库,ADO主要包括Connection、Command、Recordset和Field对象。使用ADO时,要打开数据库的连接,把一些数据选出来,放在记录集中,这些数据由字段组成,接着处理这些数据,并在服务器上进行更新,最后关闭连接。ADO.NET的作用与ADO相同,提供易于使用的类集,以访问数据,ADO.NET的功能得到更新数据和增强,可以用于.NET编程环境。1.
ADO.NET知识引入任务1连接数据库(2)ADO.NET的作用ADO.NET的主要目标是提供对关系数据的简单访问功能。显然,易于使用的类表示关系数据库中的表、列和行,另外,ADO.NET引入了DataSet类,它代表来自封装在一个单元中的关联表中的一组数据,并维持它们之间完整的关系。最常见的一个模型是三层模型,如下所示。数据层:包括数据库和数据访问代码。业务层:包含业务逻辑,定义应用程序的独特功能,并把该功能与其他层分离开来,这个层有时也称为中间层显示层:提供用户界面,控制应用程序的流程,对用户输入进行验证等等。1.
ADO.NET知识引入任务1连接数据库(3)ADO.NET的结构1.
ADO.NET知识引入任务1连接数据库(4).NETFramework数据提供程序的核心对象Connection对象ADOConnection对象用于创建一个到达某个数据源的开放连接。通过此连接,您可以对一个数据库进行访问和操作。Command对象ADOCommand对象用于执行面向数据库的一次简单查询。此查询可执行诸如创建、添加、取回、删除或更新记录等动作。DataReader对象这是一个快速而易用的对象,可以从数据源中操作只读只进的数据流。DataAdapter对象DataAdapter提供连接DataSet对象和数据源的桥梁。2.ADO.NET访问数据库知识引入任务1连接数据库(1)连接数据库(Connection)Connection对象用于在应用程序和数据库之间建立连接,每个.NET数据提供程序都有其自己的连接类。具体实例化哪个特定的连接类,取决于所使用的.NET数据提供程序。数据提供程序连接类SQL数据提供程序SqlConnectionOLEDB数据提供程序OleDbConnectionOracle数据提供程序OracleConnectionODBC数据提供程序OdbcConnection属
性说
明ConnectionString指定连接数据库所需的值的字符串格式描述Database与Connection对象连接的数据库方
法说
明Open打开与数据库的连接,以允许对数据库数据进行事务处理Close关闭与数据库的连接。关闭后,不能对数据库进行事务处理任务1
连接数据库任务实现【例8-1】设计一个窗体,使用Connection对象连接学生信息管理系统后台数据库StudentDB,运行效果如图所示:任务1
连接数据库任务实现【例8-1】privatevoidbutton1_Click(objectsender,EventArgse){//第一步:定义连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=studentDB";//第二步:创建连接对象SqlConnectionsqlConn=newSqlConnection(strConn);try{//第三步:打开连接对象sqlConn.Open();MessageBox.Show("数据库连接成功!");}catch(Exceptionex){//处理异常MessageBox.Show("异常信息:\n"+ex.Message);}finally{//第四步:关闭连接对象sqlConn.Close();}}.NETframework中的ADO.NET是一组类,允许应用程序与数据库交互,以便检索和更新信息。DataSet和.NET数据提供程序是ADO.NET的两个主要组件。每种.NET数据提供程序都是由以下四个对象组成:Connection,Command,DataAdapter以及DataReader。Connection对象用于在应用程序和数据库之间建立连接。任务1
连接数据库任务小结任务描述单击主窗体菜单的添加、删除学生信息菜单,分别实现对学生信息的添加和删除功能,如果添加成功,则弹出“学生信息添加成功!”消息框,单击该窗体“关闭”按钮,关闭该窗体;删除学生信息时,如果输入的学号存在,则删除该记录,并弹出“删除成功!”消息框,如果输入的学号不存在,则弹出“学号不存在,无法删除!”消息框,单击该窗体“关闭”按钮,关闭该窗体。任务2
添加、删除学生信息1.执行SQL语句(Command)我们可以使用Command对象允许向数据库传递SQL脚本,以便检索和操作数据库中的数据。任务2添加、删除学生信息知识引入数据提供程序命令类SQL数据提供程序SqlCommandOLEDB数据提供程序OleDbCommandOracle数据提供程序OracleCommandODBC数据提供程序OdbcCommand属
性说
明CommandText表示Command对象将执行的SQL语句或存储过程CommandType表示Command对象的命令类型,包括StoreProcedure、Text和TableDirect。其中:StoreProcedure表示执行T-SQL存储过程,Text表示执行T-SQL语句Connection表示Command对象使用的活动连接方
法说
明ExecuteNonQuery用于Command对象执行T-SQL的语句,对数据库的单项操作,如UPDATE,INSERT,DELETE。返回影响的行数ExecuteReader用于Command对象执行T-SQL的语句,对数据库的查询操作,赶回一个DataReader对象。1.设计添加学生信息窗体(AddStudInfo.cs),效果如图8-3所示,窗体后台程序代码如下:privatevoidbtnAdd_Click(objectsender,EventArgse){//数据库连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=studentDB";//连接数据库SqlConnectionsqlConn=newSqlConnection(strConn);/**************获取用户在界面上输入的数据*************/stringstuId=txtStuId.Text;stringstuName=txtStuName.Text;stringstuBirthday=dtpBirthday.Value.ToString();stringstuSex=cmbSex.Text;stringstuAddress=txtStuAddress.Text;/*****************执行SQL语句***************/stringstrsql=string.Format("insertintostudentvalues('{0}','{1}','{2}','{3}','{4}')",stuId,stuName,stuSex,stuBirthday,stuAddress);任务2添加、删除学生信息任务实现//创建命令对象,执行SQL语句SqlCommandcmd=newSqlCommand(strsql,sqlConn);//执行SQL语句try{sqlConn.Open();intn=cmd.ExecuteNonQuery();//执行SQL语句,得到受影响的行数if(n>0){MessageBox.Show("学生信息添加成功!");}else{MessageBox.Show("学生信息添加失败!");}}catch(Exceptionex){MessageBox.Show("出现异常,原因:\n"+ex);}finally{sqlConn.Close();}}1.设计添加学生信息窗体(AddStudInfo.cs),效果如图8-3所示,窗体后台程序代码如下:privatevoidbtnAdd_Click(objectsender,EventArgse){//数据库连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=studentDB";//连接数据库SqlConnectionsqlConn=newSqlConnection(strConn);/**************获取用户在界面上输入的数据*************/stringstuId=txtStuId.Text;stringstuName=txtStuName.Text;stringstuBirthday=dtpBirthday.Value.ToString();stringstuSex=cmbSex.Text;stringstuAddress=txtStuAddress.Text;/*****************执行SQL语句***************/stringstrsql=string.Format("insertintostudentvalues('{0}','{1}','{2}','{3}','{4}')",stuId,stuName,stuSex,stuBirthday,stuAddress);任务2添加、删除学生信息任务实现//创建命令对象,执行SQL语句SqlCommandcmd=newSqlCommand(strsql,sqlConn);//执行SQL语句try{sqlConn.Open();intn=cmd.ExecuteNonQuery();//执行SQL语句,得到受影响的行数if(n>0){MessageBox.Show("学生信息添加成功!");}else{MessageBox.Show("学生信息添加失败!");}}catch(Exceptionex){MessageBox.Show("出现异常,原因:\n"+ex);}finally{sqlConn.Close();}}//关闭按钮单击事件代码如下:privatevoidbtnClose_Click(objectsender,EventArgse){this.Close();}2.设计删除学生信息窗体(DelStudInfo.cs),效果如图8-5所示,窗体后台程序代码如下:privatevoidbtnDel_Click(objectsender,EventArgse){//获取界面要删除的学号stringstuID=txtStuId.Text;//数据库连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=studentDB";//连接数据库SqlConnectionsqlConn=newSqlConnection(strConn);//写SQL语句stringstrSql=string.Format("deletefromstudentwherestuID='{0}'",stuID);//创建命令对象SqlCommandsqlCmd=newSqlCommand(strSql,sqlConn);任务2添加、删除学生信息任务实现//执行SQL语句try{sqlConn.Open();intn=sqlCmd.ExecuteNonQuery();if(n>0){MessageBox.Show("删除成功!");}else{MessageBox.Show("学号不存在,无法删除!");}}catch(Exceptionex){MessageBox.Show("出现异常,原因:\n"+ex);}finally{sqlConn.Close();}}2.设计删除学生信息窗体(DelStudInfo.cs),效果如图8-5所示,窗体后台程序代码如下:privatevoidbtnDel_Click(objectsender,EventArgse){//获取界面要删除的学号stringstuID=txtStuId.Text;//数据库连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=studentDB";//连接数据库SqlConnectionsqlConn=newSqlConnection(strConn);//写SQL语句stringstrSql=string.Format("deletefromstudentwherestuID='{0}'",stuID);//创建命令对象SqlCommandsqlCmd=newSqlCommand(strSql,sqlConn);任务2添加、删除学生信息任务实现//执行SQL语句try{sqlConn.Open();intn=sqlCmd.ExecuteNonQuery();if(n>0){MessageBox.Show("删除成功!");}else{MessageBox.Show("学号不存在,无法删除!");}}catch(Exceptionex){MessageBox.Show("出现异常,原因:\n"+ex);}finally{sqlConn.Close();}}Command对象允许向数据库传递请求、检索和操纵数据库中的数据。用于查询的Command和用于执行非查询的Command在使用上的异同。任务小结任务2添加、删除学生信息单击主窗体菜单的查看学生信息菜单,弹出显示所有学生信息窗体。窗体中列名必须是中文,该窗体只能显示,不能进行添加或修改或删除操作。单击主窗体菜单的修改学生信息菜单,弹出修改学生信息窗体。窗体加载时,下方的列表显示所有学生信息,用户选中某行数据,将数据显示在上方对应文本框中,供用户修改,其中显示学号文本框中加载的学号是主键,不允许修改,窗体中列名必须是中文。任务描述任务3查询、修改学生信息1.DataSet对象知识引入任务3查询、修改学生信息DataSet是ADO.NET结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。DataSet由一组DataTable对象组成,您可使这些对象与DataRelation对象互相关联。1.DataSet对象知识引入任务3查询、修改学生信息类说
明DataTableCollection包含特定数据集的所有DataTable对象DataTable表示数据集中的一个表DataColumnCollection表示DataTable对象的结构DataRowCollection表示DataTable对象中的实际数据行DataColumn表示DataTable对象中列的结构DataRow表示DataTable对象中的一个数据行1.DataSet对象知识引入任务3查询、修改学生信息创建数据集使用DataSet构造函数创建数据集实例。数据集的名称是可选的,不需要指定。如果没有指定名称,则创建的数据集的默认名称为NewDataSet。例如分别创建名称为StudentInfo的数据集和不指定名称的数据集:DataSetstuDataSet=newDataSet(“StudentInfo”);DataSetstuDataSet=newDataSet();属
性说
明DataSetName用于获取或设置当前数据集的名称Tables用于检索数据集中包含的表集合方
法说
明Clear清除数据集中包含的所有表的所有行HasChanges返回一个布尔值,指示数据集是否更改1.DataSet对象知识引入任务3查询、修改学生信息DataSet类的最常用属性是Tables。Tables属性值是一个DataTable对象集,也就是DataSet中所有“表”的集合,每个DataTable对象代表从数据库检索到的一个表。属
性说
明Columns表示列的集合或DataTable包含的DataColumnConstraints表示特定的DataTable的约束集合DataSet表示DataTable所属的数据集PrimaryKey表示作为DataTable主键的字段或DataColumnRows表示行的集合或DataTable包含的DataRowHasChanges返回一个布尔值,指示数据表是否更改方
法说
明AcceptChanges提交对该表所做的所有修改NewRow添加新的DataRow事
件说
明ColumnChanged修改该列中的值时激发该事件RowChanged修改该行中的值时激发该事件RowDeleted成功删除行时激发该事件1.DataSet对象知识引入任务3查询、修改学生信息【例8-6】创建DataSet和DataTable,向DataTable中添加数据,并检索显示DataTable中的数据,代码如下:privatevoidFrmDS_Load(objectsender,EventArgse){//DataSetds_Stu=newDataSet("student");//创建名为ds_Stu的数据集DataSetds_Stu=newDataSet();//创建DataTable(表)对象,并指定其名为stuInfoDataTabledt_Stu=newDataTable("stuInfo");ds_Stu.Tables.Add(dt_Stu);/*//创建数据列DataColumndc_Stu=newDataColumn();dc_Stu.DataType=typeof(string);//设置该数据列的数据类型dc_Stu.ColumnName="stuNo";//设置该数据列的名称dt_Stu.Columns.Add(dc_Stu);//将该列添加到数据表中*/1.DataSet对象知识引入任务3查询、修改学生信息【例8-6】创建DataSet和DataTable,向DataTable中添加数据,并检索显示DataTable中的数据,代码如下://创建数据列并添加到DataTable(数据表)中DataColumndc_Stu=dt_Stu.Columns.Add("stuNo",typeof(string));dt_Stu.Columns.Add("stuName",typeof(string));dt_Stu.Columns.Add("stuSex",typeof(string));dt_Stu.Columns.Add("stuAge",typeof(int));dt_Stu.Columns.Add("stuBirth",typeof(DateTime));//设置数据表中的主键列dt_Stu.PrimaryKey=newDataColumn[]{dt_Stu.Columns["stuNo"]};//定义数据行DataRowdr_Stu;//注:只能定义,不能用new关键字实例化dr_Stu=dt_Stu.NewRow();//在数据表中新创建一行记录//设置该行每一列的值dr_Stu["stuNo"]="1001";dr_Stu["stuName"]="刘备";dr_Stu["stuSex"]="男";dr_Stu["stuAge"]=18;dr_Stu["stuBirth"]="2001-6-12";1.DataSet对象知识引入任务3查询、修改学生信息【例8-6】创建DataSet和DataTable,向DataTable中添加数据,并检索显示DataTable中的数据,代码如下://将该行添加到表中dt_Stu.Rows.Add(dr_Stu);//新创建一行记录dr_Stu=dt_Stu.NewRow();//设置该行每一列的值dr_Stu["stuNo"]="1002";dr_Stu["stuName"]="张三丰";dr_Stu["stuSex"]="男";dr_Stu["stuAge"]=21;dr_Stu["stuBirth"]="1998-3-21";//将该行添加到表中dt_Stu.Rows.Add(dr_Stu);
//新创建一行记录dr_Stu=dt_Stu.NewRow();//设置该行每一列的值dr_Stu["stuNo"]="1003";dr_Stu["stuName"]="小龙女";dr_Stu["stuSex"]="女";dr_Stu["stuAge"]=22;dr_Stu["stuBirth"]="1997-8-8";//将该行添加到表中dt_Stu.Rows.Add(dr_Stu);//给DataGridView添加数据源//dgvStuInfo.DataSource=dt_Stu;dgvStuInfo.DataSource=ds_Stu.Tables[0];}1.DataSet对象知识引入任务3查询、修改学生信息【例8-6】运行效果如图:2.DataGridView对象知识引入任务3查询、修改学生信息(1)DataGridView控件概述
在数据库编程中使用数据绑定控件时,DataGridView控件是最通用、功能最强和最灵活的控件。使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据。DataGridView控件以表的形式显示数据,并可根据需要支持数据编辑的功能,如添加、修改、删除、排序、分页等。DataGridView控件中的每一列,都与数据源的一个字段绑定。字段属性名称显示为列标题,数据值在相应的列下面显示为文本。2.DataGridView对象知识引入任务3查询、修改学生信息(2)数据源(DataSource)DataGridView显示数据的方式非常灵活。该控件的DataSource属性可以设置下列任何一个数据源。数组DataTable和DataSetDataViewManagerDataView集合类对象派生或实现IList或IlistSource接口的组件3.DataAdapter对象知识引入任务3查询、修改学生信息DataSet对象表示数据源中数据的本地副本,它是MicrosoftNETFramework的一个主要创新。DataSet对象本身可用来引用数据源,然而为了担当真正的数据管理工具,DataSet必须能够与数据源交互。为了实现该功能,.NET提供了DataAdapter类。
每个DataAdapter都在DataSet中的单个DataTable对象和SQL语句或存储过程所产生的单个结果集之间交换数据。可以使用DataAdpater在DataSet和数据源之间交换数据。一个常见例子是应用程序将数据从数据库读到DataSet中,然后将DateSet中的更改写回到数据库中。然而,DataAdapter可以从任何数据源中检索和更新数据(不仅仅是数据库),例如从MicrosoftBizTalk服务器应用程序将数据读取到DataSet。可以使用数据适配器来填充DataSet,并将数据的更改传送回数据源。【例8-7】使用DataAdapter类将从SQLServer数据库中检索到的记录填充到数据集中,并检索显示DataSet中的数据,代码如下:知识引入任务3查询、修改学生信息
privatevoidFrmSQL_Load(objectsender,EventArgse){//数据库连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=db_shopcar";//连接数据库sqlConn=newSqlConnection(strConn);//查询语句//stringstrSql="select*fromgoodsinfo";stringstrSql="selectidas商品号,goods_nameas商品名称,goods_priceas价格,goods_addras商品产地,goods_storenumas商品数量,goods_typeas商品类型fromgoodsInfo";//数据适配器,从数据库中取出数据填充到DataSet数据集中。sqlAda=newSqlDataAdapter(strSql,sqlConn);//创建数据集DataSetds_Stu=newDataSet();//填充数据集//查询数据库内容,将结果送入sqlAda中sqlAda.Fill(ds_Stu,"info");//参数2:给查询得到有表取个名称(方便以后取数据用)dgvStu.DataSource=ds_Stu.Tables[0];}【例8-7】使用DataAdapter类将从SQLServer数据库中检索到的记录填充到数据集中,并检索显示DataSet中的数据,运行效果如图:知识引入任务3查询、修改学生信息1.设计学生信息管理系统主界面窗体(FrmMain.cs),效果如图8-1所示,单击主菜单程序代码如下:任务实现任务3查询、修改学生信息(1)单击主界面添加学生信息主菜单响应事件代码如下:privatevoid添加学生信息ToolStripMenuItem_Click(objectsender,EventArgse){AddStudInfoastu=newAddStudInfo();astu.MdiParent=this;astu.Show();}(2)单击主界面删除学生信息主菜单响应事件代码如下:privatevoid删除学生信息ToolStripMenuItem_Click(objectsender,EventArgse){DelStuInfodsi=newDelStuInfo();dsi.MdiParent=this;dsi.Show();}1.设计学生信息管理系统主界面窗体(FrmMain.cs),效果如图8-1所示,单击主菜单程序代码如下:任务实现任务3查询、修改学生信息(3)单击主界面查看学生信息主菜单响应事件代码如下:privatevoid查看学生信息ToolStripMenuItem_Click(objectsender,EventArgse){QueryStudInfoqsi=newQueryStudInfo();qsi.MdiParent=this;qsi.Show();}(4)单击主界面修改学生信息主菜单响应事件代码如下:privatevoid修改学生信息ToolStripMenuItem_Click(objectsender,EventArgse){EdiitStudInfoesi=newEdiitStudInfo();esi.MdiParent=this;esi.Show();}(5)单击主界面退出主菜单响应事件代码如下:privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){Application.Exit();}2.设计查询学生信息窗体(QueryStudInf.cs),效果如图8-7所示,窗体后台程序代码如下:任务实现任务3查询、修改学生信息publicvoidShowStuInfo(){//数据库连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=studentDB";//连接数据库SqlConnectionsqlConn=newSqlConnection(strConn);//写SQL语句stringstrSql="select*fromstudent";SqlDataAdaptersda=newSqlDataAdapter(strSql,strConn);DataSetdsStu=newDataSet();sda.Fill(dsStu);dgvStuInfo.DataSource=dsStu.Tables[0];}3.设计修改学生信息窗体(EditStudInfo.cs),效果如图8-8所示,窗体后台程序代码如下:任务实现任务3查询、修改学生信息publicpartialclassEdiitStudInfo:Form{SqlConnectionsqlConn;SqlDataAdaptersda;DataSetdsStu;publicEdiitStudInfo(){InitializeComponent();}//窗体加载privatevoidEdiitStudInfo_Load(objectsender,EventArgse){//窗体一加载在窗体下方显示所有学生信息ShowStuInfo();
}//查询显示所有学生信息publicvoidShowStuInfo(){//数据库连接字符串stringstrConn="server=.;uid=sa;pwd=123456ab78;database=studentDB";//连接数据库sqlConn=newSqlConnection(strConn);//写SQL语句stringstrSql="select*fromstudent";sda=newSqlDataAdapter(strSql,strConn);dsStu=newDataSet();sda.Fill(dsStu);dgvStuInfo.DataSource=dsStu.Tables[0];}3.设计修改学生信息窗体(EditStudInfo.cs),效果如图8-8所示,窗体后台程序代码如下:任务实现任务3查询、修改学生信息//将表格中选择中行的数据显示在上方文本框中privatevoiddgvStuInfo_CellClick(objectsender,DataGridViewCellEventArgse){//得到选择的行的索引introwIndex=e.RowIndex;//取出数据并显示到界面上//dtpStudyDate.Value=(DateTime)dgvStuInfo.Rows[rowIndex].Cells["colStudyDate"].Value;txtStuId.Text=dgvStuInfo.Rows[rowIndex].Cells["colStuID"].V
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版UPS设备质保与支持服务协议版B版
- 专业技术服务劳务协议(2024版)版B版
- 2024年绿色屋顶设计与施工合同范本3篇
- 2024房地产融资合同范本
- 【放射科】精准医疗幕后的先锋团队
- 11-1《谏逐客书 》(说课稿)-2024-2025学年高一语文下学期同步教学说课稿专辑(统编版必修下册)
- 福建省南平市塔前中学2022年高二数学理联考试题含解析
- 2024文化石矿山开采及加工合作合同范本3篇
- 双十一旅行新品盛宴
- 2024港口物流信息化建设合同
- 老年人能力评估标准解读讲义课件
- 材料报价三家对比表
- 2024年国家公务员考试公共基础知识全真模拟试题及答案(共四套)
- 焊接工序首件检验记录表
- (通桥【2018】8370)《铁路桥梁快速更换型伸缩缝安装图》
- 针灸的作用原理和治疗原则
- 标准辅助航空摄影技术规范
- 2023年中国人保财险校园招聘笔试参考题库附带答案详解
- 项目经理部组织机构
- 某办公楼装饰工程监理大纲方案
- 七年级上学期期末考试历史试卷及答案(人教版)
评论
0/150
提交评论