物聯網.NET開發(第二版) 課件 項目八 學生信息管理系統_第1頁
物聯網.NET開發(第二版) 課件 項目八 學生信息管理系統_第2頁
物聯網.NET開發(第二版) 課件 項目八 學生信息管理系統_第3頁
物聯網.NET開發(第二版) 課件 項目八 學生信息管理系統_第4頁
物聯網.NET開發(第二版) 課件 項目八 學生信息管理系統_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學生信息管理系統任務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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論