




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年秘书证考试方向明确试题及答案
- 办公室礼仪知识试题及答案
- 各类2024年记者证试题及答案
- 有用技巧分享珠宝鉴定师试题及答案
- 交际舞会礼仪规范
- 2024年公务员省考必胜试题及答案积极攻略
- 初中物理科学实验相关考题及答案
- 2024年咖啡师考试学习方法试题及答案
- 护理无菌技术操作
- 周全计划2024年记者证考试试题及答案
- 心理学原理(中文版)
- JG-T 194-2018 住宅厨房和卫生间排烟(气)道制品
- DL∕T 1215.4-2013 链式静止同步补偿器 第4部分现场试验
- DL-T+5174-2020燃气-蒸汽联合循环电厂设计规范
- 网课智慧树知道《人工智能引论(浙江大学)》章节测试答案
- CJJ63-2018聚乙烯燃气管道工程技术标准
- WD-PSO-LSTM模型在光伏出力预测中的应用
- 期中测试卷(试题)-2023-2024学年六年级下册数学苏教版
- 分层过程审核培训-课后测试附有答案
- 江苏省南京市鼓楼区2022-2023学年五年级下学期期中语文试卷
- 高中数学教师的专业发展路径
评论
0/150
提交评论