數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告_第1頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告_第2頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告_第3頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告_第4頁(yè)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告系院):計(jì)算機(jī)科學(xué)學(xué)院專(zhuān)業(yè)班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)姓名:學(xué)號(hào):指導(dǎo)教師:設(shè)計(jì)時(shí)間:2023.12.12-2023.12.23設(shè)計(jì)地點(diǎn):目錄一、課程設(shè)計(jì)目的 3二、設(shè)計(jì)任務(wù)及規(guī)定 3三、需求分析 4四、總體設(shè)計(jì) 4五、具體設(shè)計(jì)與實(shí)現(xiàn) 51、數(shù)據(jù)庫(kù)操作公共類(lèi): 52、登陸界面及代碼實(shí)現(xiàn) 103、系統(tǒng)管理員 124、圖書(shū)管理員 145、讀者管理員 205、讀者 27六、課程設(shè)計(jì)小結(jié) 28指導(dǎo)老師意見(jiàn): 30一、課程設(shè)計(jì)目的通過(guò)對(duì)圖書(shū)管理信息系統(tǒng)的系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、編碼和調(diào)試等工作的實(shí)踐,了解管理信息系統(tǒng)的一般設(shè)計(jì)方法和實(shí)現(xiàn)思緒,進(jìn)一步了解數(shù)據(jù)庫(kù)設(shè)計(jì)的基本理論及方法。二、設(shè)計(jì)任務(wù)及規(guī)定規(guī)定完畢一個(gè)具有一定實(shí)用價(jià)值的圖書(shū)管理信息系統(tǒng),重要任務(wù)涉及:?在SQLServer2023或SQLServer2023環(huán)境下建立圖書(shū)管理信息系統(tǒng)所使用的數(shù)據(jù)庫(kù),運(yùn)用公司管理器或查詢(xún)分析器建立各種數(shù)據(jù)庫(kù)對(duì)象,涉及:數(shù)據(jù)表、視圖、約束、存儲(chǔ)過(guò)程和觸發(fā)器等;?了解數(shù)據(jù)庫(kù)引擎技術(shù),并掌握使用ADO.NET連接數(shù)據(jù)庫(kù)服務(wù)器和客戶(hù)端應(yīng)用程序;?掌握使用C#或其他語(yǔ)言開(kāi)發(fā)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的基本方法和環(huán)節(jié),應(yīng)用程序的功能涉及:數(shù)據(jù)的輸入、修改和刪除;數(shù)據(jù)的瀏覽和查詢(xún);數(shù)據(jù)的圖形化、報(bào)表以及打印輸出;系統(tǒng)的用戶(hù)登錄和權(quán)限管理;?了解多層C/S或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)過(guò)程:需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)及文檔的收集和整理。三、需求分析在做這個(gè)課程設(shè)計(jì),重要涉及到的是我們以前學(xué)習(xí)過(guò)的C#的相關(guān)技術(shù)和數(shù)據(jù)庫(kù)的一些知識(shí),就感覺(jué)上來(lái)講,這兩部分比重應(yīng)當(dāng)都差不多。要做出圖書(shū)管理系統(tǒng),一方面要對(duì)數(shù)據(jù)庫(kù)的建立、修改和維護(hù)可以比較熟悉的掌握,此外就是數(shù)據(jù)庫(kù)與VS之間的連接,是直接的綁定到VS里面還是通過(guò)查詢(xún)語(yǔ)句讓表的內(nèi)容在DataGridView控件中顯示出來(lái),以及這兩種之間的優(yōu)點(diǎn)和壞處,在開(kāi)始做這個(gè)課設(shè)之前,我們心里都要有數(shù),此外,考慮到的就是提高訪(fǎng)問(wèn)的速度以及可維護(hù)性了。至于其他的功能的實(shí)現(xiàn),就各憑本領(lǐng)了。四、總體設(shè)計(jì)該系統(tǒng)重要由五大功能模塊組成:圖書(shū)管理、讀者管理、借閱管理、數(shù)據(jù)記錄和系統(tǒng)管理。各大功能模塊又由一些子功能模塊構(gòu)成,其總體的設(shè)計(jì)框架如下。五、具體設(shè)計(jì)與實(shí)現(xiàn)1、數(shù)據(jù)庫(kù)操作公共類(lèi):classSQLhelper{privatestaticSqlConnectionconn=newSqlConnection(@"DataSource=.\SQLEXPRESS;AttachDbFilename=D:\計(jì)算機(jī)的學(xué)習(xí)\數(shù)據(jù)庫(kù)\數(shù)據(jù)庫(kù)課程設(shè)計(jì)\汪剛\數(shù)據(jù)庫(kù)課程設(shè)計(jì)\數(shù)據(jù)庫(kù)課程設(shè)計(jì)\MSI_KS.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True");//Decrypt(System.Configuration.ConfigurationManager.AppSettings["connectionString"]));//打開(kāi)數(shù)據(jù)庫(kù)鏈接publicstaticvoidOpenConn(){try{if(conn.State==ConnectionState.Closed)conn.Open();}catch{thrownewException("數(shù)據(jù)庫(kù)連接失?。?);}}//關(guān)閉數(shù)據(jù)庫(kù)連接privatestaticvoidCloseConn(){if(conn!=null){if(conn.State==ConnectionState.Open){conn.Close();}}}publicstaticintExecuteNonQuery(stringsql){introws=0;try{OpenConn();SqlCommandcmd=newSqlCommand(sql,conn);rows=cmd.ExecuteNonQuery();}catch(SqlExceptionex){thrownewException(ex.Message);}finally{CloseConn();}returnrows;}publicstaticintExecuteNonQuery(stringsql,SqlParameter[]parameters){introws=0;try{OpenConn();SqlCommandcmd=newSqlCommand(sql,conn);if(parameters!=null){foreach(SqlParameterparameterinparameters){cmd.Parameters.Add(parameter);}}rows=cmd.ExecuteNonQuery();}catch(SqlExceptionex){thrownewException(ex.Message);}finally{CloseConn();}returnrows;}publicstaticintExecuteStoredProc(stringstoredProcName,SqlParameter[]parameters){introws=0;try{OpenConn();SqlCommandcmd=newSqlCommand();cmd.CommandType=CommandType.StoredProcedure;cmd.CommandText=storedProcName;cmd.Connection=conn;if(parameters!=null){foreach(SqlParameterparameterinparameters){cmd.Parameters.Add(parameter);}}rows=cmd.ExecuteNonQuery();}catch(SqlExceptionex){thrownewException(ex.Message);}finally{CloseConn();}returnrows;}///<summary>///執(zhí)行簡(jiǎn)樸的SQL語(yǔ)句,返回結(jié)果集中的首行首列///</summary>///<paramname="sql">要執(zhí)行的SQL查詢(xún)語(yǔ)句</param>///<returns></returns>publicstaticobjectExecuteScalar(stringsql){objectobj=null;try{OpenConn();SqlCommandcmd=newSqlCommand(sql,conn);obj=cmd.ExecuteScalar();}catch(SqlExceptionex){thrownewException(ex.Message);}finally{CloseConn();}returnobj;}///<summary>///執(zhí)行簡(jiǎn)樸的SQL語(yǔ)句,返回結(jié)果集中的首行首列///</summary>///<paramname="sql">要執(zhí)行的SQL查詢(xún)語(yǔ)句</param>///<paramname="parameters"></param>///<returns></returns>publicstaticobjectExecuteScalar(stringsql,SqlParameter[]parameters){objectobj=null;try{OpenConn();SqlCommandcmd=newSqlCommand(sql,conn);if(parameters!=null){foreach(SqlParameterparameterinparameters){cmd.Parameters.Add(parameter);}}obj=cmd.ExecuteScalar();}catch(SqlExceptionex){thrownewException(ex.Message);}finally{CloseConn();}returnobj;}///<summary>///執(zhí)行一條帶參數(shù)的SQL語(yǔ)句,返回DataTable對(duì)象///</summary>///<paramname="sql">SQL查詢(xún)語(yǔ)句</param>///<paramname="parameters"></param>///<paramname="TableName">DataSet中的表名</param>///<returns></returns>publicstaticDataTableGetDataTable(stringsql,SqlParameter[]parameters,stringTableName){DataTabledt=null;{OpenConn();SqlCommandcmd=newSqlCommand(sql,conn);if(parameters!=null){foreach(SqlParameterparameterinparameters){cmd.Parameters.Add(parameter);}}SqlDataAdaptersda=newSqlDataAdapter(cmd);DataSetds=newDataSet();sda.Fill(ds,TableName);dt=ds.Tables[0];}returndt;}///<summary>///執(zhí)行存儲(chǔ)過(guò)程,返回DataTable對(duì)象///</summary>///<paramname="storedProcName">存儲(chǔ)過(guò)程名</param>///<paramname="parameters"></param>///<paramname="TableName">Data中的表名</param>///<returns></returns>publicstaticDataTableExecuteStoredProc(stringstoredProcName,SqlParameter[]parameters,stringTableName){DataTabledt=null;try{OpenConn();SqlCommandcmd=newSqlCommand();cmd.CommandType=CommandType.StoredProcedure;cmd.CommandText=storedProcName;cmd.Connection=conn;if(parameters!=null){foreach(SqlParameterparameterinparameters){cmd.Parameters.Add(parameter);}}SqlDataAdaptersda=newSqlDataAdapter(cmd);DataSetds=newDataSet();sda.Fill(ds,TableName);dt=ds.Tables[0];}catch(SqlExceptionex){thrownewException(ex.Message);}finally{CloseConn();}returndt;}2、登陸界面及代碼實(shí)現(xiàn)代碼實(shí)現(xiàn):(重要是驗(yàn)證用戶(hù)名和密碼)stringname=User_Name.Text;stringcode=User_Code.Text;stringsql=string.Format("select*fromReader_sortwherereader_name='{0}'",name);DataTabletemp=SQLhelper.GetDataTable(sql,null,"Reader_sort");if(temp.Rows.Count!=0){if(temp.Rows[0][3].ToString()==name){if(temp.Rows[0][2].ToString()==code){stringtemp_sort=temp.Rows[0][1].ToString();if(User_Sort.Text==temp_sort){switch(temp_sort){case"系統(tǒng)管理員":stringname_temp=User_Name.Text;System_administratorSystem_admin_temp=newSystem_administrator(name_temp);System_admin_temp.Show();this.Hide();break;case"圖書(shū)管理員":stringname_temp1=User_Name.Text;Book_administratorbook_admin_temp=newBook_administrator(name_temp1);book_admin_temp.Show();this.Hide();break;case"讀者管理員":stringname_temp2=User_Name.Text;Reader_administratorReader_admin_temp=newReader_administrator(name_temp2);Reader_admin_temp.Show();this.Hide();break;case"讀者":stringname_temp3=User_Name.Text;Common_Readerreader_temp=newCommon_Reader(name_temp3);reader_temp.Show();this.Hide();break;}}elseMessageBox.Show("權(quán)限錯(cuò)誤!");}else{MessageBox.Show("密碼不對(duì)的,請(qǐng)重新輸入!");User_Code.Text=null;}}elseMessageBox.Show("用戶(hù)名不存在!");}else{MessageBox.Show("用戶(hù)不存在!");}圖形界面:3、系統(tǒng)管理員代碼實(shí)現(xiàn):(一些重要功能)添加:System_administratoradmin_temp=newSystem_administrator(null);stringsql_update=string.Format("select*fromReader_sort");admin_temp.dataGridView1.DataSource=SQLhelper.GetDataTable(sql_update,null,"Reader_sort");inti=admin_temp.dataGridView1.NewRowIndex;//獲取新行的行號(hào)i=i+1;stringreader_name=add_reader_name.Text;intcode=int.Parse(add_code.Text);stringitem_sort=add_sort.Text;stringsql=string.Format("insertintoReader_sortvalues('{0}','{1}','{2}','{3}')",i,item_sort,code,reader_name);introws=SQLhelper.ExecuteNonQuery(sql);if(rows<=0){MessageBox.Show("添加失??!");}修改:update_index=update_index+1;stringreader_name=modify_reader_name.Text;intcode=int.Parse(modify_code.Text);stringitem_sort=modify_sort.Text;stringsql=string.Format("updateReader_sortsetsort_name='{0}',sort_code='{1}',reader_name='{2}'wheresort_ID='{3}'",item_sort,code,reader_name,update_index);introws=SQLhelper.ExecuteNonQuery(sql);if(rows<=0){MessageBox.Show("修改失敗!");}刪除:DialogResulttemp=MessageBox.Show(this,"是否刪除該選中行","擬定刪除",MessageBoxButtons.YesNo,MessageBoxIcon.Question);if(temp==DialogResult.Yes){stringdelete_currentcell=dataGridView1.CurrentRow.Cells[0].Value.ToString();stringsql=string.Format("deleteReader_sortwheresort_ID='{0}'",delete_currentcell);introws=SQLhelper.ExecuteNonQuery(sql);if(rows<=0){MessageBox.Show("刪除失敗");}else{dataGridView1.Rows.Remove(dataGridView1.CurrentRow);//刪除選中行}}圖形界面:4、圖書(shū)管理員關(guān)于添加、修改、刪除的操作與系統(tǒng)管理員類(lèi)似,這里不再贅述,圖書(shū)管理員中,重要用到的技術(shù)有:C/S或B/S模式:業(yè)務(wù)實(shí)體類(lèi):publicclassBook_entiry{#region私有字段privateintBook_id;privatestringbook_code;privatestringbook_name;privatestringbook_author;privatestringbook_press;privatestringbook_datapress;privatestringbook_isbn;privatestringbook_catalog;privatestringbook_languague;privateintbook_pages;privatestringbook_price;privatestringbook_datain;privatestringbook_brief;privatestringbook_cover;privatestringbook_sum;#endregion#region公有屬性publicintbkID{get{returnBook_id;}set{Book_id=value;}}publicstringbkCode{get{returnbook_code;}set{book_code=value;}}publicstringbkName{get{returnbook_name;}set{book_name=value;}}publicstringbkAuthor{get{returnbook_author;}set{book_author=value;}}publicstringbkPress{get{returnbook_press;}set{book_press=value;}}publicstringbkDatePress{get{returnbook_datapress;}set{book_datapress=value;}}publicstringbkISBN{get{returnbook_isbn;}set{book_isbn=value;}}publicstringbkCatalog{get{returnbook_catalog;}set{book_catalog=value;}}publicstringbkLanguage{get{returnbook_languague;}set{book_languague=value;}}publicintbkPages{get{returnbook_pages;}set{book_pages=value;}}publicstringbkPrice{get{returnbook_price;}set{book_price=value;}}publicstringbkDateIn{get{returnbook_datain;}set{book_datain=value;}}publicstringbkBrief{get{returnbook_brief;}set{book_brief=value;}}publicstringbkCover{get{returnbook_cover;}set{book_cover=value;}}publicstringbkIsInlab{get{returnbook_sum;}set{book_sum=value;}}#endregion}數(shù)據(jù)訪(fǎng)問(wèn)層:classBookTypeDAL{publicDataTableGetAllReader(){stringsql="select*fromBook";returnSQLhelper.GetDataTable(sql,null,"Book");}publicvoidAddBook(數(shù)據(jù)庫(kù)課程設(shè)計(jì).Book_entirybook){};try{SQLhelper.ExecuteStoredProc("add_book",parameters);}catch(SqlExceptionex){thrownewException(ex.Message);}}}業(yè)務(wù)邏輯層:classBookBLL{BookTypeDALBDAL=newBookTypeDAL();//得到所有的讀者publicDataTableGetAllReader(){returnBDAL.GetAllReader();}//添加讀者publicvoidAddBook(數(shù)據(jù)庫(kù)課程設(shè)計(jì).Book_entirybook){try{BDAL.AddBook(book);MessageBox.Show("添加成功!");}catch(Exceptionex){MessageBox.Show("添加失??!");thrownewException(ex.Message);}}}表達(dá)層:數(shù)據(jù)庫(kù)課程設(shè)計(jì).Book_entirybook=newBook_entiry();//引用存儲(chǔ)過(guò)程book.bkID=Convert.ToInt32(Book_add_bkID.Text);book.bkCode=Book_add_bkcode.Text;book.bkName=Book_add_bkName.Text;book.bkLanguage=Book_add_bkLanguage.Text;book.bkPages=Convert.ToInt32(Book_addpages.Text);book.bkPrice=Book_add_bkPrice.Text;book.bkDateIn=Book_add_bkDateIn.Text;book.bkBrief=Book_add_bkBrief.Text;book.bkCover=picture_address.Text;book.bkIsInlab=Book_add_bkIsInlab.Text;數(shù)據(jù)庫(kù)課程設(shè)計(jì).Book_book.BookBLLbook_temp=new數(shù)據(jù)庫(kù)課程設(shè)計(jì).Book_book.BookBLL();book_temp.AddBook(book);圖形界面:讀者信息管理頁(yè)面:代碼實(shí)現(xiàn):鼠標(biāo)點(diǎn)擊首記錄:introw=this.dataGridView1.CurrentRow.Index+1;if(row>this.dataGridView1.RowCount-2)row=0;this.dataGridView1.CurrentCell=this.dataGridView1[0,row];鼠標(biāo)點(diǎn)擊下一記錄:introw=this.dataGridView1.CurrentRow.Index-1;if(row<0)row=this.dataGridView1.RowCount-2;this.dataGridView1.CurrentCell=this.dataGridView1[0,row];5、讀者管理員代碼實(shí)現(xiàn):這里也用到了三層模式,添加、修改、刪除也大體與前面類(lèi)似。借書(shū):stringsql_find_sort=string.Format("select*fromReaderTypewhererdTypeName='{0}'",lend_rdTypeName.Text);DataTablefind_Type=SQLhelper.GetDataTable(sql_find_sort,null,"ReaderType");stringfind_CanlendQty=find_Type.Rows[0][2].ToString();intfind_CanLendDay=int.Parse(find_Type.Rows[0][3].ToString());if(int.Parse(find_CanlendQty)>int.Parse(lend_rdBorrowQty.Text)){if(this.dataGridView2.CurrentRow==null){MessageBox.Show("請(qǐng)選中要借閱的書(shū)籍所在的行!");}else{stringbkID_temp=this.dataGridView2.CurrentRow.Cells[0].Value.ToString();//獲得借閱書(shū)的bkIDstringbkName_temp=this.dataGridView2.CurrentRow.Cells[2].Value.ToString();//獲得借閱書(shū)的名稱(chēng)intsum=int.Parse(this.dataGridView2.CurrentRow.Cells[14].Value.ToString());//獲得bkisinlab的值(現(xiàn)存量)stringadd_rows_temp=lend_rdName.Text;//獲得讀者名稱(chēng)intbkID_have_lended=int.Parse(lend_rdID.Text);//獲得讀者的rdIDintsum_have_lended=int.Parse(lend_rdBorrowQty.Text);//獲得已借書(shū)總量if(sum==0){MessageBox.Show("這本書(shū)現(xiàn)存量為0,請(qǐng)等待該書(shū)歸還后再借,謝謝!");}else{stringsql_confrim_lend=string.Format("insertinto{0}select*fromBookwherebkID='{1}'",add_rows_temp,bkID_temp);//將借閱書(shū)籍插入到個(gè)人借閱信息表中sum_have_lended=sum_have_lended+1;stringsql_update0=string.Format("updateReadersetrdBorrowQty='{0}'whererdID='{1}'",sum_have_lended,bkID_have_lended);introw=SQLhelper.ExecuteNonQuery(sql_confrim_lend);introw0=SQLhelper.ExecuteNonQuery(sql_update0);if(row<=0||row0<=0){MessageBox.Show("借書(shū)失敗,請(qǐng)重新執(zhí)行操作!");}else{sum=sum-1;DateTimetime_lend=System.DateTime.Today;//借書(shū)的時(shí)間stringsql_update1=string.Format("updateBooksetbkIsInLab='{0}'wherebkID='{1}'",sum,bkID_temp);//圖書(shū)存量的變化stringsql_update2=string.Format("update{0}setbkIsInLab='{1}'wherebkID='{2}'",add_rows_temp,sum,bkID_temp);//個(gè)人借閱信息表中圖書(shū)存量的變化stringsql_update3=string.Format("insertintoBorrowvalues('{0}','{1}','1','{2}','{3}','','','','','false','{4}','')",lend_rdID.Text,bkID_temp,time_lend,time_lend.AddDays(+find_CanLendDay),operate_person.Text);//借閱表Borrow中的變化stringsql_update4=string.Format("insertintoBorrow_informationvalues('{0}','{1}','{2}','{3}','{4}','{5}','{6}','','{7}','')",lend_rdID.Text,lend_rdName.Text,lend_rdTypeName.Text,lend_rdDept.Text,bkID_temp,bkName_temp,time_lend,time_lend.AddDays(+find_CanLendDay));//借閱信息表Borrow_information的變化introws1=SQLhelper.ExecuteNonQuery(sql_update1);introws2=SQLhelper.ExecuteNonQuery(sql_update2);introws3=SQLhelper.ExecuteNonQuery(sql_update3);introws4=SQLhelper.ExecuteNonQuery(sql_update4);if(rows1>0&&rows2>0&&rows3>0&&rows4>0){MessageBox.Show("借書(shū)成功!");stringupdate_link1=string.Format("select*from{0}",lend_rdName.Text);//重新綁定數(shù)據(jù)dataGridView1.DataSource=SQLhelper.GetDataTable(update_link1,null,lend_rdName.Text);stringupdate_link2="select*fromBook";dataGridView2.DataSource=SQLhelper.GetDataTable(update_link2,null,"Book");lend_rdBorrowQty.Text=sum_have_lended.ToString();}else{MessageBox.Show("借書(shū)失?。≌?qǐng)檢查更新錯(cuò)誤的數(shù)據(jù)文獻(xiàn)!");}}}}}else{MessageBox.Show("超過(guò)了你所能借的書(shū)的數(shù)量!");}借書(shū)過(guò)程中,重要是要實(shí)現(xiàn)三個(gè)表中數(shù)據(jù)的變化,這三個(gè)表中的變化相應(yīng)改變好了,就沒(méi)有問(wèn)題了,關(guān)于續(xù)借和還書(shū),只要借書(shū)回了,舉一反三,關(guān)于其他的自己也就可以實(shí)現(xiàn)了,圖形界面:查詢(xún)借閱信息:查找實(shí)現(xiàn)的具體過(guò)程stringrdID_temp=search_rdID.Text;stringrdName_temp=search_rdName.Text;stringrdType_temp=search_rdType.Text;stringrdDept_temp=search_rdDept.Text;stringbkCode_temp=search_bkCode.Text;stringbkName_temp=search_bkName.Text;stringldDateOut_temp=search_ldDateOut.Text;stringldDateRetAct_temp=search_ldDateRetAct.Text;stringsql=string.Format("select*fromBorrow_informationwhererdID='{0}'orrdName='{1}'orrdType='{2}'orrdDept='{3}'orbkID='{4}'orbkName='{5}'orldDateOut='{6}'orldDateRetPlan='{7}'",rdID_temp,rdName_temp,rdType_temp,rdDept_temp,bkCode_temp,bkName_temp,ldDateOut_temp,ldDateRetAct_temp);this.dataGridView1.DataSource=SQLhelper.GetDataTable(sql,null,"Borrow_information");里面有打印預(yù)覽功能:PrintPreviewDialogppd=newPrintPreviewDialog();PrintDocumentpd=newPrintDocument();pd.PrintPage+=newPrintPageEventHandler(pd_PrintPage);DrawLine(newPoint(start_point_x+width,start_point_y),newPoint(start_point_x+width,height),e.Graphics);//得最右邊的線(xiàn)for(inti=0;i<line_sum;i++)//畫(huà)每一列的線(xiàn){DrawLine(newPoint(start_point_x+line_temp,start_point_y),newPoint(start_point_x+line_temp,height),e.Graphics);e.Graphics.DrawString(dataGridView1.Columns[i].HeaderText,show_font,alertBrush,start_point_x+line_temp,start_point_y+row_height/2);for(introw=0;row<row_sum-1;row++){e.Graphics.DrawString(dataGridView1.Rows[row].Cells[i].Value.ToString(),show_font,alertBrush,start_point_x+line_temp,start_point_y+row_height/2+row_height*(row+1));}line_temp=line_temp+line_width;}效果圖:輸出到excel的功能:SaveFileDialogexcel_data=newSaveFileDialog();excel_data.Filter="Excelfiles(*.xls)|*.xls";

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論