




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.NET應用程序開發數據庫開發1.NET應用程序開發數據庫開發1ASP.NETWeb開發之C#篇第七章數據庫編程2ASP.NETWeb開發之C#篇第七章數據庫編程2內容和目標數據庫的基本操作SQL語句.NET數據庫開發數據顯示數據刪除數據增加數據修改數據查詢數據排序33內容和目標數據庫的基本操作337.0SQLServer2000圖形界面操作7.1數據庫連接7.2數據顯示控件—GridView7.3數據顯示7.4數據添加7.5數據刪除7.6數據修改7.7詳細數據顯示(超鏈接列)7.8數據分頁7.9數據多選47.0SQLServer2000圖形界面操作4Web數據庫應用常見體系結構數據庫服務器Web界面ADO.NETGridViewDataListRepeaterWeb服務器控件ConnectionDataAdapterCommandDataReaderDataSet數據庫數據表關系視圖帳戶瀏覽器5Web數據庫應用常見體系結構數據庫Web界面ADO.NETG7.0SQLServer2000圖形界面操作
—數據庫的基本操作創建庫、表錄入數據創建訪問數據庫的用戶打開企業管理器安全性登錄,右鍵新建登錄,輸入帳號和密碼,選擇數據庫,給出“數據庫角色”和訪問權限67.0SQLServer2000圖形界面操作
—數據庫學生管理數據庫xsgl創建表tb_usertb_studentYxZyBj7學生管理數據庫xsgl創建表7數據庫的備份和還原備份備份:選中數據庫右鍵所有任務備份數據庫,點擊“添加”,選定路徑,給定文件名(備份文件的后綴名為bak)。8數據庫的備份和還原備份備份:8數據庫的備份和還原還原還原:選中數據庫右鍵所有任務還原數據庫,選”從設備”選擇設備添加找到bak文件所在路徑,確定。9數據庫的備份和還原還原還原:9如果出錯,嘗試在“還原窗口”的“選項”中,“在現有數據庫上強制還原”復選框上打勾。10如果出錯,嘗試在“還原窗口”的“選項”中,“在現有數據庫上強1111SQL語句數據操縱語句SelectInsertUpdateDelete12SQL語句數據操縱語句Select12SQL語句數據控制語句CreatetableAltertableDroptable13SQL語句數據控制語句Createtable13.NET程序設計的兩個方面界面代碼14.NET程序設計的兩個方面界面14數據顯示控件GridView可以實現數據的網格顯示、刪除、更新、分頁、排序等功能。15數據顯示控件GridView可以實現數據的網格顯示、刪除、更ADO.NET體系結構16ADO.NET體系結構16ADO.NET的本質—五種控件ConnectionDataAdapterCommandDataReaderDataSet17ADO.NET的本質—五種控件Connection17數據庫編程Connection控件第一步:添加引用
usingSystem.Data;usingSystem.Data.SqlClient;第二步:創建并打開連接在Page_Load事件中填寫如下代碼SqlConnectionsconn=newSqlConnection("server=.;uid=sa;pwd=sa;database=xsgl");sconn.Open();此時出現錯誤,彈出黃色頁面,如何避免?用trycatchfinally語句。如何捕捉數據庫方面的錯誤?SqlException18數據庫編程Connection控件第一步:添加引用18參考代碼SqlConnectionsconn=newSqlConnection("server=.;uid=sa;pwd=sa;database=xsgl");
try{sconn.Open();Response.Write("數據庫連接成功!");}
catch(SqlExceptione1){Response.Write("無法打開登錄'xsgl'中請求的數據庫。登錄失敗。用戶'sa'登錄失敗。");}
finally{
sconn.Close();}19參考代碼SqlConnectionsconn=new數據庫編程數據顯示第一步:添加引用
usingSystem.Data;usingSystem.Data.SqlClient;第二步:添加一個GridView控件(工具箱數據雙擊GridView控件)第三步:提取數據在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數據庫編程數據顯示第一步:添加引用20數據顯示的要點SqlConnection一條通往服務器的路。參數:stringmyConnectString="server=.;uid=xsgl;pwd=xsgl;database=xsgl";其中server=.orserver=localhostorserver=(local)
都是指Web服務器上的SqlServer。SqlDataAdapter相當于搬運工。DataSet本地的數據庫。21數據顯示的要點SqlConnection21數據瀏覽圖解數據庫服務器本地內存數據庫ConnectionDataAdapterTable1Table2Tb222數據瀏覽圖解數據庫本地內存ConnectionDataAda數據庫編程數據顯示:結果處理結果可以看到表內的所有數據問題:如何能夠使GridView的標題顯示為漢字?Key:修改Select語句為:"selectxh學號,xm姓名,csrqas
出生日期
fromstudent"如何能夠使GridView的按照姓名排序?Key:修改Select語句為:"selectxh學號,xm姓名,csrqas出生日期fromstudentorderbyxm"23數據庫編程數據顯示:結果處理結果可以看到表內的所有數據23執行Select語句的模版程序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執行Select語句的模版程序stringmyConnec數據庫編程數據刪除第一步:添加刪除列并寫顯示數據的代碼(見數據顯示)第二步:獲取刪除行的關鍵字(找到對應列)第三步:構造刪除數據的SQL語句(Delete)第四步:執行刪除數據的SQL語句第五步:刷新界面(反映刪除了記錄)25數據庫編程數據刪除第一步:添加刪除列并寫顯示數據的代碼數據庫編程數據刪除添加刪除列添加GridView控件,Page_Load事件中寫數據顯示代碼選中GridView,智能標記(GridView右上角的黑三角),編輯列CommandField選中“刪除”,“添加”按鈕HeaderText屬性設置為“刪除”26數據庫編程數據刪除添加刪除列添加GridView控件,P運行,查看效果(這一步屬于構造界面,以后是寫代碼)2727數據庫編程數據刪除獲取刪除行的關鍵字刪除行的關鍵字主要是行號和列號,列號是事先知道的,但行號的由用戶決定的。行號的獲取:選中GridView后,打開屬性窗口,選“事件”(閃電圖標),雙擊RowDeleting事件,轉到代碼視圖。Response.Write(e.RowIndex.ToString());獲取關鍵字:Response.Write(GridView1.Rows[e.RowIndex].Cells[1].Text.ToString())28數據庫編程數據刪除獲取刪除行的關鍵字刪除行的關鍵字主要是數據庫編程數據刪除構造刪除數據的SQL語句stringxh1=GridView1.Rows[e.RowIndex].Cells[1].Text.ToString();
stringSql_Delete="deletefromstudentwherexh='"+xh1+"'";Response.Write(Sql_Delete);運行查看SQL語句然后到企業管理器中去執行29數據庫編程數據刪除構造刪除數據的SQL語句string數據庫編程數據刪除執行SQL語句SqlConnectionmyConnection=newSqlConnection("server=sgq;uid=xsgl;pwd=xsgl;database=xsgl");myConnection.Open();SqlCommandmyCommand=newSqlCommand(Sql_Delete,myConnection);myCommand.ExecuteNonQuery();myConnection.Close();30數據庫編程數據刪除執行SQL語句SqlConnecti數據庫編程數據刪除刷新界面stringmyConnectString="server=sgq;uid=xsgl;pwd=xsgl;database=xsgl";SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("selectxh學號,xm姓名,csrqas出生日期fromstudent",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();31數據庫編程數據刪除刷新界面stringmyConnec刪除確認的實現百度gridview刪除確認第一項就可以參考設置:在刪除按鈕的那一列屬性里面,把DeleteText屬性設為<div
id="de"
onclick="JavaScript:return
confirm('確定刪除嗎?')">刪除</div>32刪除確認的實現百度32思考題:如何實現數據的添加?提示:用TextBox輸入學號,姓名等,添加按鈕,且能夠實時反映結果。基本思路:構造Insert語句33思考題:33數據庫編程數據添加第零步:添加GridView,Page_Load中寫顯示代碼第一步:添加Label、TextBox和DropDownList第二步:構造添加數據的SQL語句(Insert)第三步:執行添加數據的SQL語句第四步:刷新界面(反映增加了記錄)第五步:清空全部TextBox34數據庫編程數據添加第零步:添加GridView,Page_基本界面運行后界面35基本界面35參考代碼Page_Load&&Browse函數protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){Browse();}}
36參考代碼Page_Load&&Browse函數protectBrowse函數publicvoidBrowse(){stringmyConnectString="server=(local);uid=xsgl;pwd=xsgl;database=xsgl";//server=.orserver=localhostorserver=(local)都是指Web服務器上的SqlServer。
SqlConnectionmyconnection=newSqlConnection(myConnectString);myconnection.Open();SqlDataAdaptermySDAdapter=newSqlDataAdapter("selectxh學號,xm姓名,xb性別,csrq出生日期fromstudent",myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();}37Browse函數publicvoidBrowse()37構造添加數據的SQL語句(Insert)insert語句的框架insertintostudent(列名列表)values(值列表)stringsql_insert="insertintostudent(xh,xm,xb,csrq)values('"+xh1+"','"+xm1+"','"+xb1+"','"+csrq1+"')";38構造添加數據的SQL語句(Insert)insert語句的執行添加數據的SQL語句寫一個執行Delete,Insert,Update等其他語句的公共函數。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執行添加數據的SQL語句寫一個執行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語句的框架insertintostudent(列名列表)values(值列表)
DataAction(sql_insert);//執行Insert語句
Browse();//刷新界面}40protectedvoidButton1_Click(o可能出現的問題直接在屬性窗口中為控件配置屬性直接點添加,出錯,什么原因?Rbl_xb沒有選中的項目。增加if語句。41可能出現的問題直接在屬性窗口中為控件配置屬性41數據庫編程數據更新第一步:添加GridView,智能標記中添加編輯列,綁定列第二步:構造編輯界面(模板列)第三步:構造修數據的SQL語句(Update)第四步:執行update語句第五步:刷新界面(反映更新了記錄)42數據庫編程數據更新第一步:添加GridView,智能標記中數據庫編程數據更新添加編輯列選中GridView,智能標記(GridView右上角的黑三角),CommandField選中“編輯、更新、刪除”,“添加”按鈕HeaderText屬性設置為“編輯”自動生成字段的復選框清空添加兩個BoundField字段,設置其DataField屬性分別為xh、xm;設置其HeaderText屬性分別為學號、姓名運行,查看效果(此時兩列均有數據綁定標識)注意:此時SQL語句為Select*fromstudent43數據庫編程數據更新添加編輯列選中GridView,智能標4444在Page_Load中寫代碼:protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){Browse();}}45在Page_Load中寫代碼:45系統提示RowEditing事件選中姓名轉換為模板列在GridView1的RowEditing事件中寫如下代碼:GridView1.EditIndex=e.NewEditIndex;Browse();問題:兩列都有編輯框出現,學號如何避免編輯?Key:將學號的ReadOnly屬性設置為true46系統提示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運行,發現程序更新后沒有變,怎么回事?顯示Update語句,看到沒有獲取到新輸入的值。解決辦法:
if(!Page.IsPostBack)Browse();48運行,發現程序更新后沒有變,怎么回事?48數據庫編程數據分頁第一步:設置GridView允許分頁第二步:設置每頁的記錄條數第三步:在響應事件中編程49數據庫編程數據分頁第一步:設置GridView允許分頁49數據庫編程數據分頁設置GridView允許分頁選中GridView,屬性AllowPaging:truePageSize:250數據庫編程數據分頁設置GridView允許分頁選中Gri數據庫編程數據分頁在響應事件中編程protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){GridView1.PageIndex=e.NewPageIndex;Browse();}51數據庫編程數據分頁在響應事件中編程protectedv登錄功能的實現1、在數據庫中添加表“xtyh”字段:username,password,usertype,bz2、填寫數據3、構造界面52登錄功能的實現1、在數據庫中添加表“xtyh”52多項選擇—模板列與復選框1、選中GridView智能標記編輯列添加TemplateField2、選中GridView右鍵編輯模板,ItemTemplate中放一個CheckBox1,結束模板編輯3、Page_Load事件代碼:4、添加按鈕Button_Click事件寫代碼:5、可能遇到的問題:只能看到一個CheckBox原因:CheckBox設置為絕對定位了。解決方案:在html視圖中將CheckBox1的style屬性刪除掉。53多項選擇—模板列與復選框1、選中GridView智能標記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思考題如何將多選的項目刪除?如何提示刪除確認對話框?參考答案: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思考題如何將多選的項目刪除?此處填寫刪除該記錄的代碼57日期類型不顯示時間百度:sqlserver只顯示日期第1項:如何在SQLServer2000中得datetime只顯示日期或只顯示時間?--...CONVERT(VARCHAR(30),GETDATE(),111)第6項:Sql各類日期時間的取得_莫扎特的右手
convert(varchar(10),getdate(),120)58日期類型不顯示時間百度:585959DataReader讀取數據步驟:創建連接構造Sql語句(select)創建SqlDataReader實例取出相關數據關閉連接顯示數據60DataReader讀取數據步驟: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代碼說明1、DataReader不是用New創建的對象,而是調用SqlCommand的ExecuteReader()方法的返回值2、可以通過索引或者列名獲取相關的數據Response.Write("<br>"+sdr["xm"].ToString());Response.Write("<br>"+sdr[2].ToString());3、還可以通過Get方法獲取相關的數據sdr.GetString(4)4、sdr.Read()返回值是bool類型,一次只取一條記錄5、模糊查詢%和_
like‘趙%’姓趙的同學62代碼說明1、DataReader不是用New創建的對象,而空值出錯問題當用戶的某項沒有填寫過,企業管理器中顯示null值,讀取時會出錯,怎么解決?63空值出錯問題當用戶的某項沒有填寫過,企業管理器中顯示null超鏈接列1、新建兩個網頁HyperLinkColumn1.aspx和HyperLinkColumn2.aspx2、HyperLinkColumn1.aspx中添加GridView,添加using引用3、GridView添加超鏈接列和綁定列(智能標記中實現)四個列:學號(超鏈接列);姓名,性別,出生日期:這三個是綁定列。4、Page_Load事件中寫顯示代碼Browse()函數5、編輯超鏈接列和綁定列(屬性和具體值見下頁)6、在HyperLinkColumn2.aspx的Page_Load事件寫代碼(見再下一頁)64超鏈接列1、新建兩個網頁HyperLinkColumn1.aHeaderText:學號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數據綁定到列表框新建一個頁面放一個DropDownList添加引用在Page_Load事件中寫代碼67數據綁定到列表框新建一個頁面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、放一個GridView,將GridView的AllowSorting屬性設置為true2、添加using引用3、寫Browse(stringsortorder)函數(見下頁)4、在Page_Load事件中寫代碼if(!Page.IsPostBack){Browse("xh");}5、在GridView的GridView1_Sorting事件中寫代碼(見再下頁)69排序1、放一個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分組統計1、創建一個成績表(cj),錄入數據2、新建網頁,放一個按鈕,然后添加using3、分組統計的Sql語句是4、寫按鈕事件代碼5、創建數據表pm(xh,pjz,pm)6、將結果寫入數據表72分組統計1、創建一個成績表(cj),錄入數據72按鈕事件代碼protectedvoidButton1_Click(objectsender,EventArgse){stringmyConnectString="server=(local);uid=xsgl;pwd=xsgl;database=xsgl";//server=.orserver=localhostorserver=(local)都是指Web服務器上的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數據查詢1、構造界面如圖2、添加引用3、獲取WebConfig中的連接字符串4、在Page_Load事件中顯示所有數據5、初始化院系下拉列表框院系必然被選中,怎么解決?解決方案:將下拉列表框中再填一項”未選擇”.74數據查詢1、構造界面如圖74Page_Load事件代碼:if(!Page.IsPostBack)//網頁第一次運行時執行的代碼
{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學號,xm姓名,xb性別,csrq出生日期fromstudent"+wherestate,myconnection);DataSetds=newDataSet();mySDAdapter.Fill(ds,"word");GridView1.DataSource=ds.Tables["word"].DefaultView;GridView1.DataBind();myconnection.Close();76查詢按鈕代碼:76添加“未選擇”項后的代碼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添加“未選擇”項后的代碼stringsql="selectArrayList的用法78ArrayList的用法78可能遇到的問題1、按鈕的大小變形了解決辦法:自己設定按鈕的Width屬性經驗:兩個字的按鈕一般大小設定為40.79可能遇到的問題1、按鈕的大小變形了79顯示圖片80顯示圖片80導出數據表到ExcelStreamWritersw=newStreamWriter("a.xls");此時默認的路徑是:C:\ProgramFiles\MicrosoftVisualStudio8\Common7\IDE注意:如果不知道具體路徑,可以搜索a.xls思考:如何實現相對定位?81導出數據表到ExcelStreamWritersw=n從Excel導入數據表82從Excel導入數據表82OleDb實現Access數據庫的訪問usingSystem.Data.OleDbAccess數據庫與SqlServer的區別。創建一個Test數據庫,創建一個yonghu表,字段Username,password,輸入兩條記錄:a,123;admin,admin.Access數據庫可以不用密碼訪問,也可以給Access加上密碼.83OleDb實現Access數據庫的訪問usingSysteAccess訪問實例1放一個GridView,一個按鈕;2添加引用usingSystem.Data.OleDb;3寫代碼:84Access訪問實例1放一個GridView,一個按鈕;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綜合實例在一個頁面內實現數據的添加,修改,刪除,更新1、創建院系表,表名yx,列名為dm,mc;2、Web.Config文件中添加數據庫連接字符串3、創建界面(GridView設置如下頁)4、添加引用5、寫一個Browse()函數瀏覽數據6、寫一個DataAction()函數執行Insert,Update等語句7、寫Page_Load代碼8、寫刪除代碼9、寫更新代碼86綜合實例在一個頁面內實現數據的添加,修改,刪除,更新86綜合實例—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綜合實例—Browse()代碼publicvoidBr綜合實例—DataAction()函數
publicvoidDataAction(stringsql_nonquery){SqlConnectionconn=newSqlConnection();conn.ConnectionString=myConnectString;conn.Open();SqlCommandsc=newSqlCommand(sql_nonquery,conn);sc.ExecuteNonQuery();conn.Close();}88綜合實例—DataAction()函數publicvoi綜合實例—GridView設置GridView1智能標記編輯列添加兩個綁定列,一個刪除列,一個”編輯、修改、取消”列綁定列的HeaderText屬性:院系代碼,院系名稱;DataField屬性:dm,mc;89綜合實例—GridView設置GridView1智能標記編綜合實例—
Page_Load代碼90綜合實例—Page_Load代碼90綜合實例—刪除代碼
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){stringdeletedm=GridView1.Rows[e.RowIndex].Cells[2].Text.ToString();//獲取院系代碼
stringsql_delete="deletefromyxwheredm='"+deletedm+"'";//刪除語句
DataAction(sql_delete);Browse();}91綜合實例—刪除代碼protectedvoidGridV綜合實例—更新代碼將mc綁定列轉化為模版列(因為名稱需要編輯)dm綁定列的ReadOnly屬性設置為true92綜合實例—更新代碼將mc綁定列轉化為模版列(因為名稱需要編輯系統需求分析系統用戶分類每類用戶的操作流程數據庫設計代碼編寫93系統需求分析系統用戶分類93用戶類別系統用戶一共有三類:超級管理員二級院系(計算機系、外語學院等)學校領導(包括招生就業處領導,校長等)用戶分類和權限的緊密結合的。系統中用usertype字段標志用戶類型94用戶類別系統用戶一共有三類:94登錄界面輸入用戶名和密碼(Label+TextBox)登錄按鈕和重置按鈕95登錄界面95網絡下載軟件的調試96網絡下載軟件的調試96分組統計1、創建一個成績表(cj),錄入數據2、新建網頁,放一個按鈕,然后添加using3、分組統計的Sql語句是4、寫按鈕事件代碼5、創建數據表pm(xh,pjz,pm)6、將結果寫入數據表97分組統計1、創建一個成績表(cj),錄入數據97按鈕事件代碼protectedvoidButton1_Click(objectsender,EventArgse){stringmyConnectString="server=(local);uid=xsgl;pwd=xsgl;database=xsgl";//server=.orserver=localhostorserver=(local)都是指Web服務器上的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文件存儲數據庫連接字符串1、添加連接串解決方案資源管理器中選擇WebConfig文件,雙擊打開后可以看到XML文件的全部內容,粉色邊框里是需要添加的內容.
<appSettings><addkey="connstring"value="server=.;uid=xsgl;pwd=xsgl;database=xsgl"/></appSettings>99WebConfig文件存儲數據庫連接字符串1、添加連接串99WebConfig文件存儲數據庫連接字符串2、訪問連接串添加一個新頁面AppSetting.aspx,Page_Load事件中寫一句代碼:protectedvoidPage_Load(objectsender,EventArgse){Response.Write(ConfigurationSettings.AppSettings["connstring"].ToString());}100WebConfig文件存儲數據庫連接字符串2、訪問連接串10Page1Page2PageN公用的連接字符串101Page1Page2PageN公用的連接字符串101菜單控件Menu1、拖拽一個Menu控件2、添加菜單項(多級的菜單)一級菜單:密碼修改,就業信息統計,求職信息查詢,學生信息管理,系統管理,注銷。系統管理有二級菜單:新建項1,2,3.3、動態改變菜單的可用性Menu1.Items[3].Enabled=false;102菜單控件Menu1、拖拽一個Menu控件102DataList運行效果圖103DataList運行效果圖103DataList顯示控件1、放一個DataList控件,智能標記屬性生成器中;2、右鍵編輯模版項模版,然后拖拽一個LinkButton到ItemTemplate中,并在SelectedItemTemplate輸入內容,LinkButton和SelectedItemTemplate的內容如圖所示.3、添加引用,添加數據綁定函數.4、Page_Load事件中調用數據綁定函數.5、在DataList1的ItemCommand事件中寫代碼6、網頁的Html視圖中修改<ItemTemplate>項的內容7、網頁的Html視圖中修改<SelectedItemTemplate>項的內容104DataList顯示控件1、放一個DataList控件,智能105105<ItemTemplate>項的內容<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">顯示詳細信息</asp:LinkButton><br/></ItemTemplate>106<ItemTemplate>項的內容<ItemTemplat頁面內的全局變量
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頁面內的全局變量publicintx;107頁面內的全局變量—靜態變量
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頁面內的全局變量—靜態變量publicstati利用靜態變量可以實現三次密碼驗證的功能109利用靜態變量可以實現三次密碼驗證的功能109函數說明的小技巧///<summary>///當前產品加入購物籃(Session["myCartTable"]),如果存在則數量加1,///否則添加新的一行(一種新的產品)///</summary>protectedvoidAddProduct_ToShoppingCart(){}110函數說明的小技巧///<summary>110DataList為每條記錄添加自動編號111DataList為每條記錄添加自動編號111DataList自己實現分頁功能DropDownListddl=(DropDownList)DataList1.Controls[DataList1.Co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年城市規劃與設計專業考試試卷及答案
- 2025年城市規劃專業考試試卷及答案
- 2025年金融科技與創新與管理研究生入學考試試卷及答案
- 臨床營養學消化系統疾病
- 小班愛干凈講衛生教育課
- 調光臺燈的設計與實現
- 急救小常識卡通
- 工業領域的數字化升級與轉型策略
- 2025年冰川融化項目立項申請報告模板
- 教育信息化背景下的教學評估與優化策略研究
- 吉利工廠過程質量對標標準手冊V4
- 2023-2024學年浙江省寧波市江北區七年級(下)期末數學試卷(含答案)
- 初中英語語法、詞匯及固定搭配訓練100題-含答案
- 網課智慧樹知道《人工智能引論(浙江大學)》章節測試答案
- 中考物理壓強與浮力壓軸題20道(解析版)
- 2024年江蘇省鎮江市丹陽市中考物理二模卷
- 標準吞咽功能評定量表
- MOOC 中國傳統藝術-篆刻、書法、水墨畫體驗與欣賞-哈爾濱工業大學 中國大學慕課答案
- 風險和機遇識別、評價及控制措施表
- (新版)高級經濟師《高級經濟實務》(工商管理)考試題庫(含答案)
- MOOC 大學生創新創業教育-云南大學 中國大學慕課答案
評論
0/150
提交評論