数据库操作相关代码.ppt

上传人:小飞机 文档编号:6296477 上传时间:2023-10-14 格式:PPT 页数:77 大小:460.50KB
返回 下载 相关 举报
数据库操作相关代码.ppt_第1页
第1页 / 共77页
数据库操作相关代码.ppt_第2页
第2页 / 共77页
数据库操作相关代码.ppt_第3页
第3页 / 共77页
数据库操作相关代码.ppt_第4页
第4页 / 共77页
数据库操作相关代码.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《数据库操作相关代码.ppt》由会员分享,可在线阅读,更多相关《数据库操作相关代码.ppt(77页珍藏版)》请在三一办公上搜索。

1、web应用技术,数据库配置,确保SQL Server 身份验证能连接数据库,1、先用Windows 身份验证连接数据库,2、的右键菜单中选择属性,在安全性菜单中选择验证模式后确定,选择!,3、sa用户的密码设为 sa,sa属性窗口用户名和密码均为 sa,4、sa属性窗口中的状态设置,选择!,5、上述均确定后,退出SQL Server6、重新启动两个服务(管理工具中),7、再启动SQL Server 身份验证连接数据库,附加数据库:BookCodeDB,配置和连接数据库的基本过程1 配置SQL Server2 在web.Config文件中配置连接字符串3 创建连接对象实例;打开数据库4 书写SQ

2、L语句5 创建命令对象;执行SQL语句6 读取记录信息操作数据库,ADO.NET是.NET应用程序的数据访问模型,用于访问关系型数据库系统,是.NET应用程序中用于处理数据库数据的首选技术.微软公司的ADO(ActiveX Data Objects)一个用于存取数据源的组件。它提供了编程语言和统一数据访问方式的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。ActiveX是实现对象连接与嵌入的标准接口如浏览器ActiveX控件。,ADO.NET技术,ADO.NET 5大对象,创建对象实例语法:OleDbConnection conn=new O

3、leDbConnection(connStr);SqlConnection conn=new SqlConnection(connStr);,ADO.NET操作数据库的基本原理,组成ADO.NET的各个类被包含在System.Data三个名称空间中。,用来连接不同的数据库 数据库的连接方式 通用:OleDBConnection(SQL SERVER,ACCESS)专用:SqlConnection(SQL SERVER),使用Connection对象,5大对象的前缀,数据库连接串 OleDbConnection:string connStr=Provider=SQLOLEDB;Data Sour

4、ce=.;Initial Catalog=BookCodeDB;uid=sa;pwd=sa;OleDbConnection conn=new OleDbConnection(connStr);conn.Open();SqlConnection string connStr=Server=.;database=BookCodeDB;uid=sa;pwd=sa;SqlConnection conn=new SqlConnection(connStr);conn.Open();,数据库连接串(信任连接)SSPI是Security Support Provider Interface(Microsof

5、t安全支持提供器接口)的英文缩写。SSPI是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。,连接串放在 web.config 文件中:程序中读取连接串:string connStr=System.Configuration.ConfigurationManager.ConnectionStrings OleDbConnSQLServer.ConnectionString.ToString();,使用 Command 对象和 DataReader 对象 使用该对象向数据源发送各种SQL查询 之类的命令,实现对数据库的操

6、作.string SQLStr=delete from users where uid=aa;OleDbCommand cmd=new OleDbCommand(SQLStr,conn);cmd.ExecuteNonQuery();,Command 的几个执行方法:cmd.ExecuteNonQuery();无返回执行结果,如插入.删除.更新等SQL语句 cmd.ExecuteReader();返回 DataReader 对象,向前只读数据流 cmd.ExecuteScalar();返回单个值,如使用聚合函数如:string SQLStr=select avg(core)from train

7、OleDbCommand cmd=new OleDbCommand(SQLStr,conn);Double pjf=(Double)cmd.ExecuteScalar();,使用 DataReader 对象读取数据 向前只读数据,每次只读取一条记录 用法:string strSQL=select*from student where 学号=10100026;OleDbCommand cmd=new OleDbCommand(strSQL,conn);OleDbDataReader dr=cmd.ExecuteReader();dr.Read();/如直接读取某一字段的值 TextBox1.Te

8、xt=dr姓名.ToString();TextBox2.Text=dr性别.ToString();,用户登陆的例子:用户名和密码保存在BookCodeDB数据库的Admin表中,均为 sys要求输入错误是提示用户不存在;输入正确,提示登陆成功,并导向一个新页面,在新页面提示出用户名。,数据库的配置用户名和密码均为 sa,连接串放在 web.config 文件中:,代码:点击登录按钮 string strUser=TextBox1.Text.Trim();string strPwd=TextBox2.Text.Trim();if(strUser=|strPwd=)Page.RegisterSta

9、rtupScript(alert,alert(请检查您的输入!););return;,/连接并打开数据库string connStr=System.Configuration.ConfigurationManager.ConnectionStringsOleDbConnSQLServer.ConnectionString.ToString();OleDbConnection conn=new OleDbConnection(connStr);conn.Open();,/主要参考代码:string SQLStr=SELECT*FROM Admin Where UserName=+strUser+

10、and Password=+strPwd+;OleDbCommand cmd=new OleDbCommand(SQLStr,conn);OleDbDataReader dr=cmd.ExecuteReader();if(dr.Read()/dr.Read()返回一个bool 值;如果dr读到了信息返回True SessionUserName=strUser;ClientScript.RegisterStartupScript(ClientScript.GetType(),alert,alert(登录成功!);location.href=admin.aspx;);/Response.Redir

11、ect(admin.aspx);else SessionUserName=null;ClientScript.RegisterStartupScript(ClientScript.GetType(),alert,alert(用户不 存在!););,上机作业4:用户登录连接数据库,数据库:BookCodeDB表:users;Admin共3个页面(注意下一页ppt要求),全部用语言描述下述代码(描述文字放在管理员界面):string strUser=TextBox1.Text.Trim();string strPwd=TextBox2.Text.Trim();string connStr=Syst

12、em.Configuration.ConfigurationManager.ConnectionStringsOleDbConnSQLServer.ConnectionString.ToString();OleDbConnection conn=new OleDbConnection(connStr);conn.Open();string SQLStr=SELECT*FROM Admin Where UserName=+strUser+and Password=+strPwd+;OleDbCommand cmd=new OleDbCommand(SQLStr,conn);OleDbDataRe

13、ader dr=cmd.ExecuteReader();if(dr.Read()ClientScript.RegisterStartupScript(ClientScript.GetType(),alert,alert(登录成功!););else ClientScript.RegisterStartupScript(ClientScript.GetType(),alert,alert(用户不存在!););,考核项目5:Command操作数据库,数据库:BookCodeDB表:train,使用面板控件,一 在GridView中显示数据,1 添加GridView 控件,2 使用自动套用格式,3 G

14、ridView表格的重要属性表格宽度:Width=600px 高不设置 表格中字的大小和字体:Font-Size=Small表格的行高:RowStyle中的 Height=30px设置自动分页:AllowPaging=True PageSize=3设置不自动产生列:AutoGenerateColumns=False,4 智能标记中选编辑列,可定制显示那些字段,5 绑定列的设置需要显示数据库表中的几个字段,则添加几个BoundField,设置每个BoundField与数据表中相关联的字段名。如第一个BoundField与数据表中的字段id关联则设置:DataField=id HeaderText

15、=编号 以此类推设置。HeaderText是指表头显示的文本,设置表格的列宽:ItemStyle Width=80px,6 数据绑定代码(函数)private void GridView1_content()string SQLStr=select*from train;string connStr=System.Configuration.ConfigurationManager.ConnectionStringsOleDbConnSQLServer.ConnectionString.ToString();OleDbConnection conn=new OleDbConnection(co

16、nnStr);conn.Open();OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);DataSet ds=new DataSet();da.Fill(ds,datatable);GridView1.DataSource=ds.Tablesdatatable.DefaultView;GridView1.DataBind();,7 Page_Load数据代码if(!IsPostBack)GridView1_content();,8 分页数据代码(页索引改变事件)protected void GridView1_PageIndexChan

17、ging(object sender,GridViewPageEventArgs e)GridView1.PageIndex=e.NewPageIndex;GridView1_content();,关于事件中的两个参数:Page_Load(object sender,EventArgs e)Button1_Click(object sender,EventArgs e)DropDownList1_SelectedIndexChanged(object sender,EventArgs e)GridView1_PageIndexChanging(object sender,GridViewPag

18、eEventArgs e)第一个参数object用来传递事件的发生者(sender),第二个参数EventArgs用来传递事件的细节(e事件对象实例),二 DropDownList数据绑定 函数名:DropDownList1_content()string SQLStr=select id,姓名 from train;OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);DataSet ds=new DataSet();da.Fill(ds,datatable);DropDownList1.DataSource=ds.Tablesdatat

19、able.DefaultView;DropDownList1.DataTextField=姓名;DropDownList1.DataValueField=id;DropDownList1.DataBind();,三 SQL语句参考:数据库课程:select*from train where 姓名=李良 delete from train where id=200string SQLStr=select*from train where id=+vid;string SQLStr=delete from train where id=+vid;string SQLStr=update train

20、 set 姓名=+TextBox1.Text+,性别=+TextBox2.Text+,职务=+TextBox3.Text+,where id=+vid;string SQLStr=insert into train(姓名,性别,职务,公司,联系)values(+xm+,+xb+,+zw+,+gs+,+lx+);/注意数值型不加 执行SQL语句:string SQLStr=delete from train where id=+vid;OleDbCommand cmd=new OleDbCommand(SQLStr,conn);cmd.ExecuteNonQuery();,考核项目5写代码步骤,

21、1 GridView和DropDownList数据绑定;分别写绑定函数,先在Page_Load中调用2 加新按钮:面板显示,清空各文本框3 加新保存按钮:取出各文本框的值存到变量中,书写插入的SQL语句保存在变量中,读数据库连接字符串,创建连接对象打开数据库,创建命令对象执行SQL语句,调用两个绑定函数,面板隐藏。4 更新按钮:面板显示,取出DropDownList中准备更新记录的id,书写查询该记录的SQL语句保存在变量中,读数据库连接字符串,创建连接对象打开数据库,创建命令对象,创建dr对象OleDbDataReader dr=cmd.ExecuteReader();dr.Read()将字

22、段值显示在文本框中 如 TextBox1.Text=dr姓名.ToString();5 更新保存按钮:取出各文本框的值存到变量中,书写更新的SQL语句保存在变量中,同3。6 删除按钮:,操作数据库基本流程:1 配置数据库2 读取连接串3 连接并打开数据库4 书写SQL语句 cmd执行SQL语句5 cmd返回dr对象 da填充数据集,执行数据绑定,/读取连接串string connStr=System.Configuration.ConfigurationManager.ConnectionStringsOleDbConnSQLServer.ConnectionString.ToString()

23、;/打开连接OleDbConnection conn=new OleDbConnection(connStr);conn.Open();/书写SQL语句string SQLStr=select*from student where 学号=10100026;/读取字段值OleDbCommand cmd=new OleDbCommand(SQLStr,conn);OleDbDataReader dr=cmd.ExecuteReader();if(dr.Read()/TextBox1.Text=dr姓名.ToString();/TextBox2.Text=dr性别.ToString();,/执行SQ

24、L语句string SQLStr=delete from users where uid=aa;OleDbCommand cmd=new OleDbCommand(SQLStr,conn);cmd.ExecuteNonQuery();/填充数据集OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);DataSet ds=new DataSet();da.Fill(ds,datatable);/GridView数据绑定GridView1.DataSource=ds.Tablesdatatable.DefaultView;GridView1.D

25、ataBind();/DropDownList数据绑定DropDownList1.DataSource=ds.Tablesdatatable.DefaultView;DropDownList1.DataTextField=姓名;DropDownList1.DataValueField=id;DropDownList1.DataBind();,考核项目6:DataSet操作数据库,DataSet 操作数据库原理:,DataSet DataTable DataRow,数据库,数据表,记录,DataAdapter,CommandBuilder,(物理数据库),(内存数据库),(Select),(In

26、sert Update Delete),CommandBuilder必须和DataAdaper一同使用。注意以下两个条件:1、DataAdaper的SelectCommand属性必须被设置;2、SelectCommand属性返回的字段中必须包含主键字段或具有唯一性约束的字段。,建立数据集string connStr=System.Configuration.ConfigurationManager.ConnectionStringsOleDbConnSQLServer.ConnectionString.ToString();OleDbConnection conn=new OleDbConne

27、ction(connStr);conn.Open();string SQLStr=select*from train;OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);DataSet ds=new DataSet();da.Fill(ds,datatable);,DataSet对象操作数据库,加新记录保存(记录操作一定要使用CommandBuilder)string SQLStr=select*from train;OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);OleDbCo

28、mmandBuilder cmd=new OleDbCommandBuilder(da);DataSet ds=new DataSet();conn.Open();da.Fill(ds,datatable);DataTable dt=ds.Tablesdatatable;DataRow row=dt.NewRow();row姓名=TextBox1.Text;row性别=TextBox2.Text;dt.Rows.Add(row);da.Update(ds,datatable);,更新记录:将数据读到文本框 string SQLStr=select*from train where id=+vi

29、d;OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);DataSet ds=new DataSet();conn.Open();da.Fill(ds,datatable);DataTable dt=ds.Tablesdatatable;DataRow row=dt.Rows0;TextBox1.Text=row姓名.ToString();TextBox2.Text=row性别.ToString();,更新记录保存:(记录操作一定要使用CommandBuilder)string SQLStr=select*from train where

30、 id=+vid;OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);OleDbCommandBuilder cmd=new OleDbCommandBuilder(da);/must!DataSet ds=new DataSet();conn.Open();da.Fill(ds,datatable);DataTable dt=ds.Tablesdatatable;DataRow row=dt.Rows0;row姓名=TextBox1.Text;row性别=TextBox2.Text;row职务=TextBox3.Text;row公司=T

31、extBox4.Text;row联系=TextBox5.Text;da.Update(ds,datatable);,删除记录:(记录操作一定要使用CommandBuilder)string SQLStr=select*from train where id=+vid;OleDbDataAdapter da=new OleDbDataAdapter(SQLStr,conn);OleDbCommandBuilder cmd=new OleDbCommandBuilder(da);/must!DataSet ds=new DataSet();conn.Open();da.Fill(ds,datata

32、ble);DataTable dt=ds.Tablesdatatable;DataRow row=dt.Rows0;row.Delete();da.Update(ds,datatable);,数据库操作(DataSet)要求:1 数据库连接串放在Web.config文件中2 按考核项目5界面设计完成每一项功能3 上传的Web.config中的连接串为:,考核项目7:Gridview应用,考核项目7相关技术:,GridView 中的模版字段,超链接字段和手动分页,考核项目7相关技术:,模版列 在模版列 中放置图片,考核项目7相关技术:,模版列代码:,考核项目7相关技术:,添加超链接字段,考核项目

33、7相关技术:,超链接字段代码:,考核项目7相关技术:,3 在新页面view.aspx中获取vid学号值,显示信息:string vid=Requestvid;string strConn=System.Configuration.ConfigurationManager.ConnectionStringsOleDbConnSQLServer.ConnectionString.ToString();OleDbConnection conn=new OleDbConnection(strConn);conn.Open();DataSet ds=new DataSet();string strSQL

34、=Select*from jsjxs where xh=+vid+;OleDbDataAdapter da=new OleDbDataAdapter(strSQL,conn);da.Fill(ds,datatable);DataTable dt=ds.Tablesdatatable;DataRow row=dt.Rows0;Label1.Text=学号:+rowxh+姓名:+rowxm+性别:+rowxb+出生年月:+rowcsrq+班级:+rowbj;,考核项目7相关技术:,4 超链接CSS:a:link color:#000000;text-decoration:none;a:visite

35、d color:#000000;text-decoration:none;a:hover color:#ff3300;text-decoration:underline;a:active color:#ff3300;text-decoration:underline;,考核项目7相关技术:,5 手动分页:四个连接按钮设计界面代码:,考核项目7相关技术:,两个显示页数标签:,考核项目7相关技术:,6 显示页数的函数:private void ShowStats()lblCurrentIndex.Text=第+(MyGridView.PageIndex+1).ToString()+页;lblPag

36、eCount.Text=总共+MyGridView.PageCount.ToString()+页;,考核项目7相关技术:,7 绑定GridView的函数:public void BindGrid()string strConn=System.Configuration.ConfigurationManager.ConnectionStringsOleDbConnSQLServer.ConnectionString.ToString();OleDbConnection conn=new OleDbConnection(strConn);conn.Open();string strSQL=Sele

37、ct*from jsjxs;OleDbDataAdapter da=new OleDbDataAdapter(strSQL,conn);DataSet ds=new DataSet();da.Fill(ds,datatable);MyGridView.DataSource=ds.Tablesdatatable.DefaultView;MyGridView.DataBind();ShowStats();/调用显示页数的函数,考核项目7相关技术:,8 Page_Load事件:if(!IsPostBack)btnFirst.Text=首页;btnPrev.Text=前一页;btnNext.Text=

38、下一页;btnLast.Text=末页;BindGrid();,9 连接按钮被点击的函数:PagerButtonClickpublic void PagerButtonClick(object sender,EventArgs e)string arg=(LinkButton)sender).CommandArgument.ToString();switch(arg)case next:if(MyGridView.PageIndex 0)/首页索引等于0MyGridView.PageIndex-=1;break;case last:MyGridView.PageIndex=(MyGridVie

39、w.PageCount-1);/相等break;default:MyGridView.PageIndex=0;/System.Convert.ToInt32(arg)break;BindGrid();ShowStats();,考核项目7相关技术:,10 页索引改变事件:protected void MyGridView_PageIndexChanging(object sender,GridViewPageEventArgs e)MyGridView.PageIndex=e.NewPageIndex;BindGrid();ShowStats();,11 添加编辑和删除按钮,12 添加编辑和删除

40、按钮事件,13 事件代码:编辑按钮:MyGridView.EditIndex=(int)e.NewEditIndex;BindGrid();取消按钮:MyGridView.EditIndex=-1;BindGrid();,删除按钮(GridView属性设置DataKeyNames=xh):string vxh=MyGridView.DataKeyse.RowIndex.Value.ToString();string strSQL=delete from jsjxs where xh=+vxh+;if(MyGridView.Rows.Count)%(MyGridView.PageSize)=1)

41、/判断最后一页是否只有一条记录 MyGridView.PageIndex=MyGridView.PageIndex-1;BindGrid();,更新按钮(GridView属性设置DataKeyNames=xh)string vxh=MyGridView.DataKeyse.RowIndex.Value.ToString();string vxm=(TextBox)(MyGridView.Rowse.RowIndex.Cells3.Controls0).Text.Trim();string vxb=(TextBox)(MyGridView.Rowse.RowIndex.Cells4.Controls0).Text.Trim();string vbj=(TextBox)(MyGridView.Rowse.RowIndex.Cells5.Controls0).Text.Trim();string strSQL=Update jsjxs set xm=+vxm+,xb=+vxb+,bj=+vbj+where xh=+vxh+;MyGridView.EditIndex=-1;BindGrid();,14 通过复选框取得学号主键值:string vid=;string vSelect=;for(int i=0;i;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号