第七章-數(shù)據(jù)庫(kù)開(kāi)發(fā)課件_第1頁(yè)
第七章-數(shù)據(jù)庫(kù)開(kāi)發(fā)課件_第2頁(yè)
第七章-數(shù)據(jù)庫(kù)開(kāi)發(fā)課件_第3頁(yè)
第七章-數(shù)據(jù)庫(kù)開(kāi)發(fā)課件_第4頁(yè)
第七章-數(shù)據(jù)庫(kù)開(kāi)發(fā)課件_第5頁(yè)
已閱讀5頁(yè),還剩117頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.NET應(yīng)用程序開(kāi)發(fā)數(shù)據(jù)庫(kù)開(kāi)發(fā)1.NET應(yīng)用程序開(kāi)發(fā)數(shù)據(jù)庫(kù)開(kāi)發(fā)1ASP.NETWeb開(kāi)發(fā)之C#篇第七章數(shù)據(jù)庫(kù)編程2ASP.NETWeb開(kāi)發(fā)之C#篇第七章數(shù)據(jù)庫(kù)編程2內(nèi)容和目標(biāo)數(shù)據(jù)庫(kù)的基本操作SQL語(yǔ)句.NET數(shù)據(jù)庫(kù)開(kāi)發(fā)數(shù)據(jù)顯示數(shù)據(jù)刪除數(shù)據(jù)增加數(shù)據(jù)修改數(shù)據(jù)查詢數(shù)據(jù)排序33內(nèi)容和目標(biāo)數(shù)據(jù)庫(kù)的基本操作337.0SQLServer2000圖形界面操作7.1數(shù)據(jù)庫(kù)連接7.2數(shù)據(jù)顯示控件—GridView7.3數(shù)據(jù)顯示7.4數(shù)據(jù)添加7.5數(shù)據(jù)刪除7.6數(shù)據(jù)修改7.7詳細(xì)數(shù)據(jù)顯示(超鏈接列)7.8數(shù)據(jù)分頁(yè)7.9數(shù)據(jù)多選47.0SQLServer2000圖形界面操作4Web數(shù)據(jù)庫(kù)應(yīng)用常見(jiàn)體系結(jié)構(gòu)數(shù)據(jù)庫(kù)服務(wù)器Web界面ADO.NETGridViewDataListRepeaterWeb服務(wù)器控件ConnectionDataAdapterCommandDataReaderDataSet數(shù)據(jù)庫(kù)數(shù)據(jù)表關(guān)系視圖帳戶瀏覽器5Web數(shù)據(jù)庫(kù)應(yīng)用常見(jiàn)體系結(jié)構(gòu)數(shù)據(jù)庫(kù)Web界面ADO.NETG7.0SQLServer2000圖形界面操作

—數(shù)據(jù)庫(kù)的基本操作創(chuàng)建庫(kù)、表錄入數(shù)據(jù)創(chuàng)建訪問(wèn)數(shù)據(jù)庫(kù)的用戶打開(kāi)企業(yè)管理器安全性登錄,右鍵新建登錄,輸入帳號(hào)和密碼,選擇數(shù)據(jù)庫(kù),給出“數(shù)據(jù)庫(kù)角色”和訪問(wèn)權(quán)限67.0SQLServer2000圖形界面操作

—數(shù)據(jù)庫(kù)學(xué)生管理數(shù)據(jù)庫(kù)xsgl創(chuàng)建表tb_usertb_studentYxZyBj7學(xué)生管理數(shù)據(jù)庫(kù)xsgl創(chuàng)建表7數(shù)據(jù)庫(kù)的備份和還原備份備份:選中數(shù)據(jù)庫(kù)右鍵所有任務(wù)備份數(shù)據(jù)庫(kù),點(diǎn)擊“添加”,選定路徑,給定文件名(備份文件的后綴名為bak)。8數(shù)據(jù)庫(kù)的備份和還原備份備份:8數(shù)據(jù)庫(kù)的備份和還原還原還原:選中數(shù)據(jù)庫(kù)右鍵所有任務(wù)還原數(shù)據(jù)庫(kù),選”從設(shè)備”選擇設(shè)備添加找到bak文件所在路徑,確定。9數(shù)據(jù)庫(kù)的備份和還原還原還原:9如果出錯(cuò),嘗試在“還原窗口”的“選項(xiàng)”中,“在現(xiàn)有數(shù)據(jù)庫(kù)上強(qiáng)制還原”復(fù)選框上打勾。10如果出錯(cuò),嘗試在“還原窗口”的“選項(xiàng)”中,“在現(xiàn)有數(shù)據(jù)庫(kù)上強(qiáng)1111SQL語(yǔ)句數(shù)據(jù)操縱語(yǔ)句SelectInsertUpdateDelete12SQL語(yǔ)句數(shù)據(jù)操縱語(yǔ)句Select12SQL語(yǔ)句數(shù)據(jù)控制語(yǔ)句CreatetableAltertableDroptable13SQL語(yǔ)句數(shù)據(jù)控制語(yǔ)句Createtable13.NET程序設(shè)計(jì)的兩個(gè)方面界面代碼14.NET程序設(shè)計(jì)的兩個(gè)方面界面14數(shù)據(jù)顯示控件GridView可以實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)格顯示、刪除、更新、分頁(yè)、排序等功能。15數(shù)據(jù)顯示控件GridView可以實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)格顯示、刪除、更ADO.NET體系結(jié)構(gòu)16ADO.NET體系結(jié)構(gòu)16ADO.NET的本質(zhì)—五種控件ConnectionDataAdapterCommandDataReaderDataSet17ADO.NET的本質(zhì)—五種控件Connection17數(shù)據(jù)庫(kù)編程Connection控件第一步:添加引用

usingSystem.Data;usingSystem.Data.SqlClient;第二步:創(chuàng)建并打開(kāi)連接在Page_Load事件中填寫如下代碼SqlConnectionsconn=newSqlConnection("server=.;uid=sa;pwd=sa;database=xsgl");sconn.Open();此時(shí)出現(xiàn)錯(cuò)誤,彈出黃色頁(yè)面,如何避免?用trycatchfinally語(yǔ)句。如何捕捉數(shù)據(jù)庫(kù)方面的錯(cuò)誤?SqlException18數(shù)據(jù)庫(kù)編程Connection控件第一步:添加引用18參考代碼SqlConnectionsconn=newSqlConnection("server=.;uid=sa;pwd=sa;database=xsgl");

try{sconn.Open();Response.Write("數(shù)據(jù)庫(kù)連接成功!");}

catch(SqlExceptione1){Response.Write("無(wú)法打開(kāi)登錄'xsgl'中請(qǐng)求的數(shù)據(jù)庫(kù)。登錄失敗。用戶'sa'登錄失敗。");}

finally{

sconn.Close();}19參考代碼SqlConnectionsconn=new數(shù)據(jù)庫(kù)編程數(shù)據(jù)顯示第一步:添加引用

usingSystem.Data;usingSystem.Data.SqlClient;第二步:添加一個(gè)GridView控件(工具箱數(shù)據(jù)雙擊GridView控件)第三步:提取數(shù)據(jù)在Page_Load事件中填寫如下代碼stringmyConnectString="server=.;uid=xsgl;pwd=xsgl;database=xsgl";SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("select*fromstudent",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();20數(shù)據(jù)庫(kù)編程數(shù)據(jù)顯示第一步:添加引用20數(shù)據(jù)顯示的要點(diǎn)SqlConnection一條通往服務(wù)器的路。參數(shù):stringmyConnectString="server=.;uid=xsgl;pwd=xsgl;database=xsgl";其中server=.orserver=localhostorserver=(local)

都是指Web服務(wù)器上的SqlServer。SqlDataAdapter相當(dāng)于搬運(yùn)工。DataSet本地的數(shù)據(jù)庫(kù)。21數(shù)據(jù)顯示的要點(diǎn)SqlConnection21數(shù)據(jù)瀏覽圖解數(shù)據(jù)庫(kù)服務(wù)器本地內(nèi)存數(shù)據(jù)庫(kù)ConnectionDataAdapterTable1Table2Tb222數(shù)據(jù)瀏覽圖解數(shù)據(jù)庫(kù)本地內(nèi)存ConnectionDataAda數(shù)據(jù)庫(kù)編程數(shù)據(jù)顯示:結(jié)果處理結(jié)果可以看到表內(nèi)的所有數(shù)據(jù)問(wèn)題:如何能夠使GridView的標(biāo)題顯示為漢字?Key:修改Select語(yǔ)句為:"selectxh學(xué)號(hào),xm姓名,csrqas

出生日期

fromstudent"如何能夠使GridView的按照姓名排序?Key:修改Select語(yǔ)句為:"selectxh學(xué)號(hào),xm姓名,csrqas出生日期fromstudentorderbyxm"23數(shù)據(jù)庫(kù)編程數(shù)據(jù)顯示:結(jié)果處理結(jié)果可以看到表內(nèi)的所有數(shù)據(jù)23執(zhí)行Select語(yǔ)句的模版程序stringmyConnectString="server=.;uid=xsgl;pwd=xsgl;database=xsgl";SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("select*fromstudent",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();只需修改紅色部分即可。24執(zhí)行Select語(yǔ)句的模版程序stringmyConnec數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除第一步:添加刪除列并寫顯示數(shù)據(jù)的代碼(見(jiàn)數(shù)據(jù)顯示)第二步:獲取刪除行的關(guān)鍵字(找到對(duì)應(yīng)列)第三步:構(gòu)造刪除數(shù)據(jù)的SQL語(yǔ)句(Delete)第四步:執(zhí)行刪除數(shù)據(jù)的SQL語(yǔ)句第五步:刷新界面(反映刪除了記錄)25數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除第一步:添加刪除列并寫顯示數(shù)據(jù)的代碼數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除添加刪除列添加GridView控件,Page_Load事件中寫數(shù)據(jù)顯示代碼選中GridView,智能標(biāo)記(GridView右上角的黑三角),編輯列CommandField選中“刪除”,“添加”按鈕HeaderText屬性設(shè)置為“刪除”26數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除添加刪除列添加GridView控件,P運(yùn)行,查看效果(這一步屬于構(gòu)造界面,以后是寫代碼)2727數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除獲取刪除行的關(guān)鍵字刪除行的關(guān)鍵字主要是行號(hào)和列號(hào),列號(hào)是事先知道的,但行號(hào)的由用戶決定的。行號(hào)的獲?。哼x中GridView后,打開(kāi)屬性窗口,選“事件”(閃電圖標(biāo)),雙擊RowDeleting事件,轉(zhuǎn)到代碼視圖。Response.Write(e.RowIndex.ToString());獲取關(guān)鍵字:Response.Write(GridView1.Rows[e.RowIndex].Cells[1].Text.ToString())28數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除獲取刪除行的關(guān)鍵字刪除行的關(guān)鍵字主要是數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除構(gòu)造刪除數(shù)據(jù)的SQL語(yǔ)句stringxh1=GridView1.Rows[e.RowIndex].Cells[1].Text.ToString();

stringSql_Delete="deletefromstudentwherexh='"+xh1+"'";Response.Write(Sql_Delete);運(yùn)行查看SQL語(yǔ)句然后到企業(yè)管理器中去執(zhí)行29數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除構(gòu)造刪除數(shù)據(jù)的SQL語(yǔ)句string數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除執(zhí)行SQL語(yǔ)句SqlConnectionmyConnection=newSqlConnection("server=sgq;uid=xsgl;pwd=xsgl;database=xsgl");myConnection.Open();SqlCommandmyCommand=newSqlCommand(Sql_Delete,myConnection);myCommand.ExecuteNonQuery();myConnection.Close();30數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除執(zhí)行SQL語(yǔ)句SqlConnecti數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除刷新界面stringmyConnectString="server=sgq;uid=xsgl;pwd=xsgl;database=xsgl";SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("selectxh學(xué)號(hào),xm姓名,csrqas出生日期fromstudent",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();31數(shù)據(jù)庫(kù)編程數(shù)據(jù)刪除刷新界面stringmyConnec刪除確認(rèn)的實(shí)現(xiàn)百度gridview刪除確認(rèn)第一項(xiàng)就可以參考設(shè)置:在刪除按鈕的那一列屬性里面,把DeleteText屬性設(shè)為<div

id="de"

onclick="JavaScript:return

confirm('確定刪除嗎?')">刪除</div>32刪除確認(rèn)的實(shí)現(xiàn)百度32思考題:如何實(shí)現(xiàn)數(shù)據(jù)的添加?提示:用TextBox輸入學(xué)號(hào),姓名等,添加按鈕,且能夠?qū)崟r(shí)反映結(jié)果。基本思路:構(gòu)造Insert語(yǔ)句33思考題:33數(shù)據(jù)庫(kù)編程數(shù)據(jù)添加第零步:添加GridView,Page_Load中寫顯示代碼第一步:添加Label、TextBox和DropDownList第二步:構(gòu)造添加數(shù)據(jù)的SQL語(yǔ)句(Insert)第三步:執(zhí)行添加數(shù)據(jù)的SQL語(yǔ)句第四步:刷新界面(反映增加了記錄)第五步:清空全部TextBox34數(shù)據(jù)庫(kù)編程數(shù)據(jù)添加第零步:添加GridView,Page_基本界面運(yùn)行后界面35基本界面35參考代碼Page_Load&&Browse函數(shù)protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){Browse();}}

36參考代碼Page_Load&&Browse函數(shù)protectBrowse函數(shù)publicvoidBrowse(){stringmyConnectString="server=(local);uid=xsgl;pwd=xsgl;database=xsgl";//server=.orserver=localhostorserver=(local)都是指Web服務(wù)器上的SqlServer。

SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("selectxh學(xué)號(hào),xm姓名,xb性別,csrq出生日期fromstudent",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();}37Browse函數(shù)publicvoidBrowse()37構(gòu)造添加數(shù)據(jù)的SQL語(yǔ)句(Insert)insert語(yǔ)句的框架insertintostudent(列名列表)values(值列表)stringsql_insert="insertintostudent(xh,xm,xb,csrq)values('"+xh1+"','"+xm1+"','"+xb1+"','"+csrq1+"')";38構(gòu)造添加數(shù)據(jù)的SQL語(yǔ)句(Insert)insert語(yǔ)句的執(zhí)行添加數(shù)據(jù)的SQL語(yǔ)句寫一個(gè)執(zhí)行Delete,Insert,Update等其他語(yǔ)句的公共函數(shù)。publicvoidDataAction(stringsql_nonquery){SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=.;uid=xsgl;pwd=xsgl;database=xsgl";conn.Open();SqlCommandsc=newSqlCommand(sql_nonquery,conn);sc.ExecuteNonQuery();conn.Close();}39執(zhí)行添加數(shù)據(jù)的SQL語(yǔ)句寫一個(gè)執(zhí)行Delete,InserprotectedvoidButton1_Click(objectsender,EventArgse){stringxh1,xm1,xb1,csrq1;xh1=txt_xh.Text;xm1=txt_xm.Text;xb1=rbl_xb.Items[rbl_xb.SelectedIndex].ToString();csrq1=txt_csrq.Text;stringsql_insert="insertintostudent(xh,xm,xb,csrq)values('"+xh1+"','"+xm1+"','"+xb1+"','"+csrq1+"')";//insert語(yǔ)句的框架insertintostudent(列名列表)values(值列表)

DataAction(sql_insert);//執(zhí)行Insert語(yǔ)句

Browse();//刷新界面}40protectedvoidButton1_Click(o可能出現(xiàn)的問(wèn)題直接在屬性窗口中為控件配置屬性直接點(diǎn)添加,出錯(cuò),什么原因?Rbl_xb沒(méi)有選中的項(xiàng)目。增加if語(yǔ)句。41可能出現(xiàn)的問(wèn)題直接在屬性窗口中為控件配置屬性41數(shù)據(jù)庫(kù)編程數(shù)據(jù)更新第一步:添加GridView,智能標(biāo)記中添加編輯列,綁定列第二步:構(gòu)造編輯界面(模板列)第三步:構(gòu)造修數(shù)據(jù)的SQL語(yǔ)句(Update)第四步:執(zhí)行update語(yǔ)句第五步:刷新界面(反映更新了記錄)42數(shù)據(jù)庫(kù)編程數(shù)據(jù)更新第一步:添加GridView,智能標(biāo)記中數(shù)據(jù)庫(kù)編程數(shù)據(jù)更新添加編輯列選中GridView,智能標(biāo)記(GridView右上角的黑三角),CommandField選中“編輯、更新、刪除”,“添加”按鈕HeaderText屬性設(shè)置為“編輯”自動(dòng)生成字段的復(fù)選框清空添加兩個(gè)BoundField字段,設(shè)置其DataField屬性分別為xh、xm;設(shè)置其HeaderText屬性分別為學(xué)號(hào)、姓名運(yùn)行,查看效果(此時(shí)兩列均有數(shù)據(jù)綁定標(biāo)識(shí))注意:此時(shí)SQL語(yǔ)句為Select*fromstudent43數(shù)據(jù)庫(kù)編程數(shù)據(jù)更新添加編輯列選中GridView,智能標(biāo)4444在Page_Load中寫代碼:protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){Browse();}}45在Page_Load中寫代碼:45系統(tǒng)提示RowEditing事件選中姓名轉(zhuǎn)換為模板列在GridView1的RowEditing事件中寫如下代碼:GridView1.EditIndex=e.NewEditIndex;Browse();問(wèn)題:兩列都有編輯框出現(xiàn),學(xué)號(hào)如何避免編輯?Key:將學(xué)號(hào)的ReadOnly屬性設(shè)置為true46系統(tǒng)提示RowEditing事件46RowUpdating事件的代碼protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEventArgse){stringxh=GridView1.Rows[e.RowIndex].Cells[2].Text.ToString().Trim();stringxm=((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl("TextBox11")).Text.ToString().Trim();stringSQL_Update="updatestudentsetxm='"+xm+"'wherexh='"+xh+"'";//Response.Write(SQL_Update);data_action(SQL_Update);GridView1.EditIndex=-1;Browse();}47RowUpdating事件的代碼47運(yùn)行,發(fā)現(xiàn)程序更新后沒(méi)有變,怎么回事?顯示Update語(yǔ)句,看到?jīng)]有獲取到新輸入的值。解決辦法:

if(!Page.IsPostBack)Browse();48運(yùn)行,發(fā)現(xiàn)程序更新后沒(méi)有變,怎么回事?48數(shù)據(jù)庫(kù)編程數(shù)據(jù)分頁(yè)第一步:設(shè)置GridView允許分頁(yè)第二步:設(shè)置每頁(yè)的記錄條數(shù)第三步:在響應(yīng)事件中編程49數(shù)據(jù)庫(kù)編程數(shù)據(jù)分頁(yè)第一步:設(shè)置GridView允許分頁(yè)49數(shù)據(jù)庫(kù)編程數(shù)據(jù)分頁(yè)設(shè)置GridView允許分頁(yè)選中GridView,屬性AllowPaging:truePageSize:250數(shù)據(jù)庫(kù)編程數(shù)據(jù)分頁(yè)設(shè)置GridView允許分頁(yè)選中Gri數(shù)據(jù)庫(kù)編程數(shù)據(jù)分頁(yè)在響應(yīng)事件中編程protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){GridView1.PageIndex=e.NewPageIndex;Browse();}51數(shù)據(jù)庫(kù)編程數(shù)據(jù)分頁(yè)在響應(yīng)事件中編程protectedv登錄功能的實(shí)現(xiàn)1、在數(shù)據(jù)庫(kù)中添加表“xtyh”字段:username,password,usertype,bz2、填寫數(shù)據(jù)3、構(gòu)造界面52登錄功能的實(shí)現(xiàn)1、在數(shù)據(jù)庫(kù)中添加表“xtyh”52多項(xiàng)選擇—模板列與復(fù)選框1、選中GridView智能標(biāo)記編輯列添加TemplateField2、選中GridView右鍵編輯模板,ItemTemplate中放一個(gè)CheckBox1,結(jié)束模板編輯3、Page_Load事件代碼:4、添加按鈕Button_Click事件寫代碼:5、可能遇到的問(wèn)題:只能看到一個(gè)CheckBox原因:CheckBox設(shè)置為絕對(duì)定位了。解決方案:在html視圖中將CheckBox1的style屬性刪除掉。53多項(xiàng)選擇—模板列與復(fù)選框1、選中GridView智能標(biāo)記protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringsql_select="select*fromstudent";stringcon="server=sgq;database=xsgl;uid=xsgl;pwd=xsgl";SqlConnectioncn1=newSqlConnection(con);cn1.Open();SqlDataAdaptersda=newSqlDataAdapter(sql_select,cn1);DataSetds=newDataSet();sda.Fill(ds,"stu");GridView1.DataSource=ds.Tables["stu"].DefaultView;GridView1.DataBind();}}54protectedvoidPage_Load(objecstrings="";for(inti=0;i<GridView1.Rows.Count;i++){CheckBoxcc=(CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");if(cc.Checked)s=s+i.ToString()+",";

}Response.Write(s);55strings="";555656思考題如何將多選的項(xiàng)目刪除?如何提示刪除確認(rèn)對(duì)話框?參考答案:for(inti=0;i<GridView1.Rows.Count;i++){CheckBoxck=(CheckBox)GridView1.Rows[i].Cells[0].FindControl("CheckBox1");if(ck.Checked){

stringxh=GridView1.Rows[i].Cells[1].Text;stringsql_delete="deletefromstudentwherexh='"+xh+"'";DataAction(sql_delete);Response.Write(i);}}Browse();此處填寫刪除該記錄的代碼57思考題如何將多選的項(xiàng)目刪除?此處填寫刪除該記錄的代碼57日期類型不顯示時(shí)間百度:sqlserver只顯示日期第1項(xiàng):如何在SQLServer2000中得datetime只顯示日期或只顯示時(shí)間?--...CONVERT(VARCHAR(30),GETDATE(),111)第6項(xiàng):Sql各類日期時(shí)間的取得_莫扎特的右手

convert(varchar(10),getdate(),120)58日期類型不顯示時(shí)間百度:585959DataReader讀取數(shù)據(jù)步驟:創(chuàng)建連接構(gòu)造Sql語(yǔ)句(select)創(chuàng)建SqlDataReader實(shí)例取出相關(guān)數(shù)據(jù)關(guān)閉連接顯示數(shù)據(jù)60DataReader讀取數(shù)據(jù)步驟:60參考源代碼protectedvoidButton1_Click(objectsender,EventArgse){stringsql_select="select*fromstudentwherexh='"+txt_xh.Text+"'";stringcon="server=.;database=xsgl;uid=xsgl;pwd=xsgl";SqlConnectioncn1=newSqlConnection(con);cn1.Open();

SqlCommandsc=newSqlCommand(sql_select,cn1);SqlDataReadersdr=sc.ExecuteReader();while(sdr.Read()){

Response.Write(""+sdr["xm"].ToString());

Response.Write(""+sdr["xb"].ToString());Response.Write(""+sdr["csrq"].ToString()+"<br>");//Response.Write("<br>"+sdr.GetString(4));}sdr.Close();cn1.Close();}61參考源代碼protectedvoidButton1_Cl代碼說(shuō)明1、DataReader不是用New創(chuàng)建的對(duì)象,而是調(diào)用SqlCommand的ExecuteReader()方法的返回值2、可以通過(guò)索引或者列名獲取相關(guān)的數(shù)據(jù)Response.Write("<br>"+sdr["xm"].ToString());Response.Write("<br>"+sdr[2].ToString());3、還可以通過(guò)Get方法獲取相關(guān)的數(shù)據(jù)sdr.GetString(4)4、sdr.Read()返回值是bool類型,一次只取一條記錄5、模糊查詢%和_

like‘趙%’姓趙的同學(xué)62代碼說(shuō)明1、DataReader不是用New創(chuàng)建的對(duì)象,而空值出錯(cuò)問(wèn)題當(dāng)用戶的某項(xiàng)沒(méi)有填寫過(guò),企業(yè)管理器中顯示null值,讀取時(shí)會(huì)出錯(cuò),怎么解決?63空值出錯(cuò)問(wèn)題當(dāng)用戶的某項(xiàng)沒(méi)有填寫過(guò),企業(yè)管理器中顯示null超鏈接列1、新建兩個(gè)網(wǎng)頁(yè)HyperLinkColumn1.aspx和HyperLinkColumn2.aspx2、HyperLinkColumn1.aspx中添加GridView,添加using引用3、GridView添加超鏈接列和綁定列(智能標(biāo)記中實(shí)現(xiàn))四個(gè)列:學(xué)號(hào)(超鏈接列);姓名,性別,出生日期:這三個(gè)是綁定列。4、Page_Load事件中寫顯示代碼Browse()函數(shù)5、編輯超鏈接列和綁定列(屬性和具體值見(jiàn)下頁(yè))6、在HyperLinkColumn2.aspx的Page_Load事件寫代碼(見(jiàn)再下一頁(yè))64超鏈接列1、新建兩個(gè)網(wǎng)頁(yè)HyperLinkColumn1.aHeaderText:學(xué)號(hào)DataTextField:xhDataNavigateUrlFields:xhDataNavigateUrlFormatString:

HyperLinkColumn2.aspx?id={0}綁定列1HeaderTextDataField姓名xm綁定列2HeaderTextDataField性別xb綁定列3HeaderTextDataField出生日期csrq65綁定列1HeaderText姓名綁定列2HeaderTextHyperLinkColumn2.aspx

的Page_Load事件

protectedvoidPage_Load(objectsender,EventArgse){stringid;if(Request["id"]!=null){id=Request["id"].ToString();Response.Write(id);}elseResponse.Write("null");}66HyperLinkColumn2.aspx

的Page_Lo數(shù)據(jù)綁定到列表框新建一個(gè)頁(yè)面放一個(gè)DropDownList添加引用在Page_Load事件中寫代碼67數(shù)據(jù)綁定到列表框新建一個(gè)頁(yè)面67Page_Load事件中代碼protectedvoidPage_Load(objectsender,EventArgse){stringdatafield,sql,myConnectString;myConnectString="server=(local);uid=xsgl;pwd=xsgl;database=xsgl";sql="select*fromstudent";if(!Page.IsPostBack){SqlConnectionDconnection=newSqlConnection(myConnectString);SqlDataAdapterDcommand;Dcommand=newSqlDataAdapter(sql,Dconnection);Dconnection.Open();DataSetds=newDataSet();Dcommand.Fill(ds,"QDQ");DropDownList1.DataSource=ds.Tables["QDQ"].DefaultView;DropDownList1.DataTextField="xm";DropDownList1.DataBind();Dconnection.Close();}}68Page_Load事件中代碼protectedvoidP排序1、放一個(gè)GridView,將GridView的AllowSorting屬性設(shè)置為true2、添加using引用3、寫B(tài)rowse(stringsortorder)函數(shù)(見(jiàn)下頁(yè))4、在Page_Load事件中寫代碼if(!Page.IsPostBack){Browse("xh");}5、在GridView的GridView1_Sorting事件中寫代碼(見(jiàn)再下頁(yè))69排序1、放一個(gè)GridView,將GridView的AllopublicvoidBrowse(stringsortorder){stringmyConnectString="server=.;uid=xsgl;pwd=xsgl;database=xsgl";SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();//SqlDataAdaptermySDAdapter=newSqlDataAdapter("select*fromstudentorderby'"+sortorder+"'",myconnection);SqlDataAdaptermySDAdapter=newSqlDataAdapter("select*fromstudent",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");ds.Tables["word"].DefaultView.Sort=sortorder;GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();}70publicvoidBrowse(stringsortprotectedvoidGridView1_Sorting(objectsender,GridViewSortEventArgse){stringsortorder=e.SortExpression.ToString();Response.Write(sortorder);Browse(sortorder);}71protectedvoidGridView1_Sort分組統(tǒng)計(jì)1、創(chuàng)建一個(gè)成績(jī)表(cj),錄入數(shù)據(jù)2、新建網(wǎng)頁(yè),放一個(gè)按鈕,然后添加using3、分組統(tǒng)計(jì)的Sql語(yǔ)句是4、寫按鈕事件代碼5、創(chuàng)建數(shù)據(jù)表pm(xh,pjz,pm)6、將結(jié)果寫入數(shù)據(jù)表72分組統(tǒng)計(jì)1、創(chuàng)建一個(gè)成績(jī)表(cj),錄入數(shù)據(jù)72按鈕事件代碼protectedvoidButton1_Click(objectsender,EventArgse){stringmyConnectString="server=(local);uid=xsgl;pwd=xsgl;database=xsgl";//server=.orserver=localhostorserver=(local)都是指Web服務(wù)器上的SqlServer。

SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlCommandsc=newSqlCommand("selectavg(cj)aspjf,xhfromcjgroupbyxh",myconnection);SqlDataReadersdr=sc.ExecuteReader();while(sdr.Read()){Response.Write(sdr["xh"].ToString()+""+sdr["pjf"].ToString()+"<br>");}myconnection.Close();}73按鈕事件代碼protectedvoidButton1_C數(shù)據(jù)查詢1、構(gòu)造界面如圖2、添加引用3、獲取WebConfig中的連接字符串4、在Page_Load事件中顯示所有數(shù)據(jù)5、初始化院系下拉列表框院系必然被選中,怎么解決?解決方案:將下拉列表框中再填一項(xiàng)”未選擇”.74數(shù)據(jù)查詢1、構(gòu)造界面如圖74Page_Load事件代碼:if(!Page.IsPostBack)//網(wǎng)頁(yè)第一次運(yùn)行時(shí)執(zhí)行的代碼

{Browse();DropDownList_Bind();}publicvoidDropDownList_Bind(){stringdatafield,sql;sql="select*fromstudent";SqlConnectionDconnection=newSqlConnection(myConnectString);SqlDataAdapterDcommand;Dcommand=newSqlDataAdapter(sql,Dconnection);Dconnection.Open();DataSetds=newDataSet();Dcommand.Fill(ds,"QDQ");DropDownList1.DataSource=ds.Tables["QDQ"].DefaultView;DropDownList1.DataTextField=“yx";DropDownList1.DataBind();Dconnection.Close();}75Page_Load事件代碼:75查詢按鈕代碼:stringwherestate="whereyx='"+DropDownList1.SelectedValue+"'";SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("selectxh學(xué)號(hào),xm姓名,xb性別,csrq出生日期fromstudent"+wherestate,myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();76查詢按鈕代碼:76添加“未選擇”項(xiàng)后的代碼stringsql="select*fromstudent";SqlConnectioncon=newSqlConnection(myConnectString);SqlDataAdaptersda;sda=newSqlDataAdapter(sql,con);con.Open();DataSetds=newDataSet();sda.Fill(ds,"yx");ArrayListaaa=newArrayList();aaa.Add("全部");for(inti=0;i<ds.Tables["yx"].Rows.Count;i++){DataRowdr=ds.Tables["yx"].Rows[i];aaa.Add(dr[“yx”].ToString());}DDL.DataSource=aaa;DDL.DataBind();con.Close();77添加“未選擇”項(xiàng)后的代碼stringsql="selectArrayList的用法78ArrayList的用法78可能遇到的問(wèn)題1、按鈕的大小變形了解決辦法:自己設(shè)定按鈕的Width屬性經(jīng)驗(yàn):兩個(gè)字的按鈕一般大小設(shè)定為40.79可能遇到的問(wèn)題1、按鈕的大小變形了79顯示圖片80顯示圖片80導(dǎo)出數(shù)據(jù)表到ExcelStreamWritersw=newStreamWriter("a.xls");此時(shí)默認(rèn)的路徑是:C:\ProgramFiles\MicrosoftVisualStudio8\Common7\IDE注意:如果不知道具體路徑,可以搜索a.xls思考:如何實(shí)現(xiàn)相對(duì)定位?81導(dǎo)出數(shù)據(jù)表到ExcelStreamWritersw=n從Excel導(dǎo)入數(shù)據(jù)表82從Excel導(dǎo)入數(shù)據(jù)表82OleDb實(shí)現(xiàn)Access數(shù)據(jù)庫(kù)的訪問(wèn)usingSystem.Data.OleDbAccess數(shù)據(jù)庫(kù)與SqlServer的區(qū)別。創(chuàng)建一個(gè)Test數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)yonghu表,字段Username,password,輸入兩條記錄:a,123;admin,admin.Access數(shù)據(jù)庫(kù)可以不用密碼訪問(wèn),也可以給Access加上密碼.83OleDb實(shí)現(xiàn)Access數(shù)據(jù)庫(kù)的訪問(wèn)usingSysteAccess訪問(wèn)實(shí)例1放一個(gè)GridView,一個(gè)按鈕;2添加引用usingSystem.Data.OleDb;3寫代碼:84Access訪問(wèn)實(shí)例1放一個(gè)GridView,一個(gè)按鈕;8stringDBFileLocation="";DBFileLocation=Server.MapPath("Test.mdb");OleDbConnectionconn=newOleDbConnection();conn.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+DBFileLocation;//+";UserID=Admin;DatabasePassword=";conn.Open();OleDbDataAdapteroda=newOleDbDataAdapter("select*fromyonghu",conn);DataSetds=newDataSet();oda.Fill(ds,"yh");GridView1.DataSource=ds.Tables["yh"].DefaultView;GridView1.DataBind();conn.Close();85stringDBFileLocation="";85綜合實(shí)例在一個(gè)頁(yè)面內(nèi)實(shí)現(xiàn)數(shù)據(jù)的添加,修改,刪除,更新1、創(chuàng)建院系表,表名yx,列名為dm,mc;2、Web.Config文件中添加數(shù)據(jù)庫(kù)連接字符串3、創(chuàng)建界面(GridView設(shè)置如下頁(yè))4、添加引用5、寫一個(gè)Browse()函數(shù)瀏覽數(shù)據(jù)6、寫一個(gè)DataAction()函數(shù)執(zhí)行Insert,Update等語(yǔ)句7、寫Page_Load代碼8、寫刪除代碼9、寫更新代碼86綜合實(shí)例在一個(gè)頁(yè)面內(nèi)實(shí)現(xiàn)數(shù)據(jù)的添加,修改,刪除,更新86綜合實(shí)例—Browse()代碼

publicvoidBrowse(){SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("selectdm院系代碼,mc院系姓名fromyx",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"yx");GridView1.DataSource=ds.Tables["yx"].DefaultView;GridView1.DataBind();myconnection.Close();}87綜合實(shí)例—Browse()代碼publicvoidBr綜合實(shí)例—DataAction()函數(shù)

publicvoidDataAction(stringsql_nonquery){SqlConnectionconn=newSqlConnection();conn.ConnectionString=myConnectString;conn.Open();SqlCommandsc=newSqlCommand(sql_nonquery,conn);sc.ExecuteNonQuery();conn.Close();}88綜合實(shí)例—DataAction()函數(shù)publicvoi綜合實(shí)例—GridView設(shè)置GridView1智能標(biāo)記編輯列添加兩個(gè)綁定列,一個(gè)刪除列,一個(gè)”編輯、修改、取消”列綁定列的HeaderText屬性:院系代碼,院系名稱;DataField屬性:dm,mc;89綜合實(shí)例—GridView設(shè)置GridView1智能標(biāo)記編綜合實(shí)例—

Page_Load代碼90綜合實(shí)例—Page_Load代碼90綜合實(shí)例—?jiǎng)h除代碼

protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){stringdeletedm=GridView1.Rows[e.RowIndex].Cells[2].Text.ToString();//獲取院系代碼

stringsql_delete="deletefromyxwheredm='"+deletedm+"'";//刪除語(yǔ)句

DataAction(sql_delete);Browse();}91綜合實(shí)例—?jiǎng)h除代碼protectedvoidGridV綜合實(shí)例—更新代碼將mc綁定列轉(zhuǎn)化為模版列(因?yàn)槊Q需要編輯)dm綁定列的ReadOnly屬性設(shè)置為true92綜合實(shí)例—更新代碼將mc綁定列轉(zhuǎn)化為模版列(因?yàn)槊Q需要編輯系統(tǒng)需求分析系統(tǒng)用戶分類每類用戶的操作流程數(shù)據(jù)庫(kù)設(shè)計(jì)代碼編寫93系統(tǒng)需求分析系統(tǒng)用戶分類93用戶類別系統(tǒng)用戶一共有三類:超級(jí)管理員二級(jí)院系(計(jì)算機(jī)系、外語(yǔ)學(xué)院等)學(xué)校領(lǐng)導(dǎo)(包括招生就業(yè)處領(lǐng)導(dǎo),校長(zhǎng)等)用戶分類和權(quán)限的緊密結(jié)合的。系統(tǒng)中用usertype字段標(biāo)志用戶類型94用戶類別系統(tǒng)用戶一共有三類:94登錄界面輸入用戶名和密碼(Label+TextBox)登錄按鈕和重置按鈕95登錄界面95網(wǎng)絡(luò)下載軟件的調(diào)試96網(wǎng)絡(luò)下載軟件的調(diào)試96分組統(tǒng)計(jì)1、創(chuàng)建一個(gè)成績(jī)表(cj),錄入數(shù)據(jù)2、新建網(wǎng)頁(yè),放一個(gè)按鈕,然后添加using3、分組統(tǒng)計(jì)的Sql語(yǔ)句是4、寫按鈕事件代碼5、創(chuàng)建數(shù)據(jù)表pm(xh,pjz,pm)6、將結(jié)果寫入數(shù)據(jù)表97分組統(tǒng)計(jì)1、創(chuàng)建一個(gè)成績(jī)表(cj),錄入數(shù)據(jù)97按鈕事件代碼protectedvoidButton1_Click(objectsender,EventArgse){stringmyConnectString="server=(local);uid=xsgl;pwd=xsgl;database=xsgl";//server=.orserver=localhostorserver=(local)都是指Web服務(wù)器上的SqlServer。

SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlCommandsc=newSqlCommand("selectavg(cj)aspjf,xhfromcjgroupbyxh",myconnection);SqlDataReadersdr=sc.ExecuteReader();while(sdr.Read()){Response.Write(sdr["xh"].ToString()+""+sdr["pjf"].ToString()+"<br>");}myconnection.Close();}98按鈕事件代碼protectedvoidButton1_CWebConfig文件存儲(chǔ)數(shù)據(jù)庫(kù)連接字符串1、添加連接串解決方案資源管理器中選擇WebConfig文件,雙擊打開(kāi)后可以看到XML文件的全部?jī)?nèi)容,粉色邊框里是需要添加的內(nèi)容.

<appSettings><addkey="connstring"value="server=.;uid=xsgl;pwd=xsgl;database=xsgl"/></appSettings>99WebConfig文件存儲(chǔ)數(shù)據(jù)庫(kù)連接字符串1、添加連接串99WebConfig文件存儲(chǔ)數(shù)據(jù)庫(kù)連接字符串2、訪問(wèn)連接串添加一個(gè)新頁(yè)面AppSetting.aspx,Page_Load事件中寫一句代碼:protectedvoidPage_Load(objectsender,EventArgse){Response.Write(ConfigurationSettings.AppSettings["connstring"].ToString());}100WebConfig文件存儲(chǔ)數(shù)據(jù)庫(kù)連接字符串2、訪問(wèn)連接串10Page1Page2PageN公用的連接字符串101Page1Page2PageN公用的連接字符串101菜單控件Menu1、拖拽一個(gè)Menu控件2、添加菜單項(xiàng)(多級(jí)的菜單)一級(jí)菜單:密碼修改,就業(yè)信息統(tǒng)計(jì),求職信息查詢,學(xué)生信息管理,系統(tǒng)管理,注銷。系統(tǒng)管理有二級(jí)菜單:新建項(xiàng)1,2,3.3、動(dòng)態(tài)改變菜單的可用性Menu1.Items[3].Enabled=false;102菜單控件Menu1、拖拽一個(gè)Menu控件102DataList運(yùn)行效果圖103DataList運(yùn)行效果圖103DataList顯示控件1、放一個(gè)DataList控件,智能標(biāo)記屬性生成器中;2、右鍵編輯模版項(xiàng)模版,然后拖拽一個(gè)LinkButton到ItemTemplate中,并在SelectedItemTemplate輸入內(nèi)容,LinkButton和SelectedItemTemplate的內(nèi)容如圖所示.3、添加引用,添加數(shù)據(jù)綁定函數(shù).4、Page_Load事件中調(diào)用數(shù)據(jù)綁定函數(shù).5、在DataList1的ItemCommand事件中寫代碼6、網(wǎng)頁(yè)的Html視圖中修改<ItemTemplate>項(xiàng)的內(nèi)容7、網(wǎng)頁(yè)的Html視圖中修改<SelectedItemTemplate>項(xiàng)的內(nèi)容104DataList顯示控件1、放一個(gè)DataList控件,智能105105<ItemTemplate>項(xiàng)的內(nèi)容<ItemTemplate><%#DataBinder.Eval(Container.DataItem,"customerid")%><br/><asp:LinkButtonID="LinkButton1"runat="server"Style="z-index:100;left:14px;top:54px"CommandArgument='<%#Eval("customerid")%>'CommandName="select1">顯示詳細(xì)信息</asp:LinkButton><br/></ItemTemplate>106<ItemTemplate>項(xiàng)的內(nèi)容<ItemTemplat頁(yè)面內(nèi)的全局變量

publicintx;protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){x=5;Response.Write(x);}}protectedvoidButton1_Click(objectsender,EventArgse){Response.Write("<br>"+x.ToString());x=10;}107頁(yè)面內(nèi)的全局變量publicintx;107頁(yè)面內(nèi)的全局變量—靜態(tài)變量

publicstaticintx;protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){x=5;Response.Write(x);}}protectedvoidButton1_Click(objectsender,EventArgse){Response.Write("<br>"+x.ToString());x=10;}108頁(yè)面內(nèi)的全局變量—靜態(tài)變量publicstati利用靜態(tài)變量可以實(shí)現(xiàn)三次密碼驗(yàn)證的功能109利用靜態(tài)變量可以實(shí)現(xiàn)三次密碼驗(yàn)證的功能109函數(shù)說(shuō)明的小技巧///<summary>///當(dāng)前產(chǎn)品加入購(gòu)物籃(Session["myCartTable"]),如果存在則數(shù)量加1,///否則添加新的一行(一種新的產(chǎn)品)///</summary>protectedvoidAddProduct_ToShoppingCart(){}110函數(shù)說(shuō)明的小技巧///<summary>110DataList為每條記錄添加自動(dòng)編號(hào)111DataList為每條記錄添加自動(dòng)編號(hào)111DataList自己實(shí)現(xiàn)分頁(yè)功能DropDownListddl=(DropDownList)DataList1.Controls[DataList1.Co

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論