版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、web应用技术数据库配置l确保sql server 身份验证能连接数据库1、先用windows 身份验证连接数据库2、 的右键菜单中选择属性 在安全性菜单中选择验证模式后确定选择!选择!3、 sa用户的密码设为用户的密码设为 sasa属性窗口属性窗口用户名和密码均为用户名和密码均为 sa4、sa属性窗口属性窗口中的状态设置中的状态设置选择!选择!5、上述均确定后,退出sql server6、重新启动两个服务(管理工具中)7、再启动sql server 身份验证连接数据库, 附加数据库:附加数据库:bookcodedbl配置和连接数据库的基本过程1 配置sql server2 在web.conf
2、ig文件中配置连接字符串3 创建连接对象实例;打开数据库4 书写sql语句5 创建命令对象;执行sql语句6 读取记录信息操作数据库 ado.netado.net是是.net.net应用程序的数据访问应用程序的数据访问模型模型, , 用于访问关系型数据库系统用于访问关系型数据库系统, ,是是.net.net应应用程序中用于用程序中用于处理数据库数据的首选技术处理数据库数据的首选技术. . 微软公司的微软公司的ado (activex data objects) ado (activex data objects) 一个用于存取数据源的组件。它提供了编程语言和统一数据访问方式的一个用于存取数据源
3、的组件。它提供了编程语言和统一数据访问方式的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。实现的,而只用关心到数据库的连接。 activex是实现对象连接与嵌入的标准接口如浏览器activex控件。 ado.netado.net技术技术对象对象实例名(惯用)功能名称connectionconn连接数据库连接对象commandcmd执行sql命令或存储过程 命令对象datareaderdr读取数据表中的记录简单数据集(数据流)对象datasetds存放数据库到内存中数据集对象dat
4、aadapterda交换内存与硬盘数据库中的数据数据适配器对象ado.net 5 5大对象大对象创建对象实例语法:创建对象实例语法:oledbconnection conn = new oledbconnection(connstr);sqlconnection conn = new sqlconnection(connstr);ado.netado.net操作数据库的基本原理操作数据库的基本原理组成组成ado.netado.net的各个类被包含在的各个类被包含在system.datasystem.datasystem.data.sqlclientsystem.data.sqlclientsy
5、stem.data.oledbsystem.data.oledb三个名称空间中。三个名称空间中。 用来连接不同的数据库用来连接不同的数据库 数据库的连接方式数据库的连接方式 通用通用: : oledboledbconnectionconnection( sql server sql server , accessaccess ) 专用专用: : sqlsqlconnection connection (sql serversql server) 使用使用connectionconnection对象对象5 5大对象的前缀大对象的前缀 数据库连接串数据库连接串 oledbconnection: s
6、tring connstr = provider=sqloledb; data source=.; 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();
7、l 数据库连接串(信任连接)l l sspi是security support provider interface(microsoft安全支持提供器接口)的英文缩写。sspi是定义得较全面的公用api,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。 l连接串放在连接串放在 web.config web.config 文件中文件中: :l l l l 程序中读取连接串程序中读取连接串:string connstr = system.configuration.configurationmanager.connectionstrings ole
8、dbconnsqlserver .connectionstring.tostring();l使用使用 command command 对象对象和和 datareader datareader 对象对象 使用该对象向数据源发送各种使用该对象向数据源发送各种sqlsql查询查询 之类的命令之类的命令, ,实现对数据库的操作实现对数据库的操作. .string sqlstr = delete from users where uid= aa ;oledbcommand cmd= new oledbcommand(sqlstr,conn);cmd.executenonquery();command 的
9、几个执行方法的几个执行方法: cmd.executenonquery(); 无返回执行结果无返回执行结果,如插入如插入.删除删除.更新等更新等sql语句语句 cmd.executereader(); 返回返回 datareader 对象对象,向前只读数据流向前只读数据流 cmd.executescalar(); 返回单个值返回单个值,如使用聚合函数如使用聚合函数如如: string sqlstr = select avg(core) from train oledbcommand cmd= new oledbcommand(sqlstr,conn); double pjf =(double )
10、 cmd.executescalar(); 使用使用 datareader datareader 对象读取数据对象读取数据 向前只读数据向前只读数据, ,每次只读取一条记录每次只读取一条记录 用法用法: : string strsql = select * from student where 学号学号= 10100026 ; oledbcommand cmd= new oledbcommand(strsql,conn); oledbdatareader dr=cmd.executereader(); dr.read(); /如直接读取某一字段的值如直接读取某一字段的值 textbox1.te
11、xt=dr姓名姓名.tostring(); textbox2.text=dr性别性别.tostring();l用户登陆的例子:l 用户名和密码保存在bookcodedb数据库的admin表中,均为 sysl 要求输入错误是提示用户不存在;输入正确,提示登陆成功,并导向一个新页面,在新页面提示出用户名。数据库的配置数据库的配置用户名和密码均为用户名和密码均为 sal连接串放在连接串放在 web.config web.config 文件中文件中: :l l l l l 代码:点击登录按钮l l string struser = textbox1.text.trim();l string strpw
12、d = textbox2.text.trim();l l if (struser = | strpwd = )l l page.registerstartupscript(alert, alert(请检查您的输入请检查您的输入!););l return;l l /连接并打开数据库l string connstr = l system.configuration.configurationmanager.l connectionstringsoledbconnsqlserver.connectionstring.tostring();l oledbconnection conn = new ol
13、edbconnection(connstr); conn.open();l /主要参考代码主要参考代码:lstring sqlstr = select * from admin where username= + struser + and l password = + strpwd + ;loledbcommand cmd = new oledbcommand(sqlstr, conn);loledbdatareader dr = cmd.executereader();lif (dr.read() /dr.read() 返回一个返回一个bool 值值;如果如果dr读到了信息返回读到了信息返
14、回truell sessionusername = struser;l clientscript.registerstartupscript(clientscript.gettype(), alert, l alert(登录成功!登录成功!);location.href= admin.aspx ; );l /response.redirect(admin.aspx);l else l sessionusername = null;l clientscript.registerstartupscript(clientscript.gettype(), alert, l alert(用户不用户不
15、存在存在!);); l上机作业4:用户登录连接数据库数据库:bookcodedb表:users;admin共3个页面(注意下一页ppt要求)全部用语言描述下述代码(描述文字放在管理员界面):l l string struser = textbox1.text.trim();l string strpwd = textbox2.text.trim();l string connstr = system.configuration.configurationmanager.connectionstringsoledbconnsqlserver.connectionstring.tostring()
16、;l oledbconnection conn = new oledbconnection(connstr);l conn.open();l string sqlstr = select * from admin where username= + struser + and password = + strpwd + ;l oledbcommand cmd = new oledbcommand(sqlstr, conn);l oledbdatareader dr = cmd.executereader();l if (dr.read()l l clientscript.registersta
17、rtupscript(clientscript.gettype(), alert, alert(登录成功!登录成功!); );l l elsel l clientscript.registerstartupscript(clientscript.gettype(), alert, alert(用户不存用户不存在在!););l 考核项目考核项目5: command操作数据库操作数据库数据库: bookcodedb表:train使用面板控件 一一 在在gridviewgridview中显示数据中显示数据1 添加添加gridview gridview 控件控件2 使用使用自动套用格式自动套用格式3
18、gridviewgridview表格的重要属性表格的重要属性表格宽度:表格宽度:width=600px 高不设置高不设置 表格中字的大小和字体:表格中字的大小和字体:font-size=small表格的行高:表格的行高:rowstyle中的中的 height=30px设置自动分页:设置自动分页:allowpaging=true pagesize=3设置不自动产生列:设置不自动产生列: autogeneratecolumns=false4 智能标记中选编辑列,可定制显示那些字智能标记中选编辑列,可定制显示那些字段段5 绑定列的设置绑定列的设置需要显示数据库表中的几个需要显示数据库表中的几个字段,
19、则添加几个字段,则添加几个boundfield设置每个boundfield与数据表中相关联的与数据表中相关联的字段名。字段名。如第一个如第一个boundfield与与数据表中的字段数据表中的字段id关联则设关联则设置:置:datafield=id headertext=编号编号 以此类推设置。以此类推设置。headertext是指是指表头显示的文本表头显示的文本设置表格的列宽: itemstyle width=80px6 数据绑定数据绑定代码代码( (函数函数) )l private void gridview1_content()l l string sqlstr = select * fr
20、om train;l string connstr = system.configuration.configurationmanager.connectionstringsoledbconnsqlserver.connectionstring.tostring();l oledbconnection conn = new oledbconnection(connstr);l conn.open();l oledbdataadapter da = new oledbdataadapter(sqlstr, conn);l dataset ds = new dataset();l da.fill(
21、ds, datatable);l gridview1.datasource = ds.tablesdatatable.defaultview;l gridview1.databind();l 7 page_load数据数据代码代码llif(!ispostback)ll gridview1_content();l8 8 分页数据代码(页索引改变事件)分页数据代码(页索引改变事件)l protected void gridview1_pageindexchanging(object sender, gridviewpageeventargs e)l l gridview1.pageindex =
22、e.newpageindex;l gridview1_content();l 关于事件中的两个参数:page_load(object sender, eventargs e)button1_click(object sender, eventargs e)dropdownlist1_selectedindexchanged(object sender, eventargs e)gridview1_pageindexchanging(object sender, gridviewpageeventargs e)第一个参数object用来传递事件的发生者( sender ),第二个参数eventa
23、rgs用来传递事件的细节(e事件对象实例)二二 dropdownlist数据绑定数据绑定 函数名:函数名:dropdownlist1_content()l string sqlstr = select id,姓名姓名 from train;l oledbdataadapter da = new oledbdataadapter(sqlstr,conn);l dataset ds = new dataset();l da.fill(ds,datatable);ll dropdownlist1.datasource = ds.tablesdatatable.defaultview;l dropdo
24、wnlist1.datatextfield = 姓名姓名; l dropdownlist1.datavaluefield=id;l dropdownlist1.databind(); 三三 sqlsql语句参考语句参考: : 数据库课程:数据库课程:select select * * from train where from train where 姓名姓名 = = 李良李良 delete from train where id= 200 delete from train where id= 200string sqlstr = string sqlstr = selectselect *
25、 * from train where id=+vid; from train where id=+vid;string sqlstr = string sqlstr = deletedelete from train where id=+vid; from train where id=+vid;string sqlstr = string sqlstr = updateupdate train set train set 姓名姓名=+textbox1.text+,=+textbox1.text+, 性别性别=+textbox2.text+, =+textbox2.text+, 职务职务=+
26、textbox3.text+, =+textbox3.text+, where id=+vid; where id=+vid;string sqlstr = string sqlstr = insertinsert into train( into train(姓名姓名, ,性别性别, ,职务职务, ,公司公司, ,联系联系) ) values(+xm+,+xb+,+zw+,+gs+,+lx+); values(+xm+,+xb+,+zw+,+gs+,+lx+); /注意数值型不加注意数值型不加 执行执行sql语句:语句:string sqlstr = string sqlstr = dele
27、tedelete from train where id=+vid; from train where id=+vid;oledbcommand cmd= new oledbcommand(sqlstr,conn);cmd.executenonquery();考核项目考核项目5写代码步骤写代码步骤1 gridview和和dropdownlist数据绑定数据绑定;分别写绑定函数,先在;分别写绑定函数,先在page_load中调用中调用2 加新按钮加新按钮:面板显示,清空各文本框:面板显示,清空各文本框3 加新保存按钮加新保存按钮:取出各文本框的值存到变量中,书写:取出各文本框的值存到变量中,书写
28、插入插入的的sql语句保存在变量中,语句保存在变量中,读数据库连接字符串,创建连接对象打开数据库,创建命令对象执行读数据库连接字符串,创建连接对象打开数据库,创建命令对象执行sql语句,语句,调用两个绑定函数,面板隐藏。调用两个绑定函数,面板隐藏。4 更新按钮更新按钮:面板显示,取出:面板显示,取出dropdownlist中准备更新记录的中准备更新记录的id,书写,书写查询查询该记录该记录的的sql语句保存在变量中,读数据库连接字符串,创建连接对象打开数据库,语句保存在变量中,读数据库连接字符串,创建连接对象打开数据库,创建命令对象,创建创建命令对象,创建dr对象对象loledbdatarea
29、der dr = cmd.executereader();ldr.read() 将字段值显示在文本框中将字段值显示在文本框中 如如 textbox1.text=drtextbox1.text=dr姓名姓名.tostring();.tostring();5 更新保存按钮更新保存按钮:取出各文本框的值存到变量中,书写:取出各文本框的值存到变量中,书写更新更新的的sql语句保存在变量中,语句保存在变量中,同同3。6 6 删除按钮删除按钮: l操作数据库基本流程:1 配置数据库2 读取连接串3 连接并打开数据库4 书写sql语句 cmd执行sql语句5 cmd返回dr对象 da填充数据集,执行数据绑定
30、l/读取连接串lstring connstr = system.configuration.configurationmanager.connectionstringsoledbconnsqlserver.connectionstring.tostring();l/打开连接loledbconnection conn = new oledbconnection(connstr);lconn.open();l/书写sql语句lstring sqlstr = select * from student where 学号=10100026;l/读取字段值loledbcommand cmd = new
31、oledbcommand(sqlstr, conn);loledbdatareader dr = cmd.executereader();lif(dr.read()ll /textbox1.text=dr姓名.tostring();l /textbox2.text=dr性别.tostring();ll/执行sql语句lstring sqlstr = delete from users where uid=aa;loledbcommand cmd= new oledbcommand(sqlstr,conn);lcmd.executenonquery();l/填充数据集loledbdataadap
32、ter da = new oledbdataadapter(sqlstr,conn);ldataset ds = new dataset();lda.fill(ds,datatable);l/gridview数据绑定lgridview1.datasource = ds.tablesdatatable.defaultview;lgridview1.databind();l/dropdownlist数据绑定ldropdownlist1.datasource = ds.tablesdatatable.defaultview;ldropdownlist1.datatextfield = 姓名; ldr
33、opdownlist1.datavaluefield=id;ldropdownlist1.databind(); 考核项目考核项目6: datasetdataset操作数据库操作数据库dataset 操作数据库原理操作数据库原理: dataset datatable datarow数据库数据表记录dataadaptercommandbuilder(物理数据库)(内存数据库)(select)(insert update delete)l commandbuilder必须和dataadaper一同使用。l 注意以下两个条件:l 1、 dataadaper的selectcommand属性必须被设置;
34、l 2、 selectcommand属性返回的字段中必须包含主键字段或具有唯一性约束的字段。建立数据集建立数据集l string connstr = system.configuration.configurationmanager.connectionstringsoledbconnsqlserver.connectionstring.tostring();l oledbconnection conn = new oledbconnection(connstr);l conn.open();l string sqlstr = select * from train;l oledbdataad
35、apter da = new oledbdataadapter(sqlstr, conn);l dataset ds = new dataset();l da.fill(ds, datatable); datasetdataset对象操作数据库对象操作数据库加新记录保存加新记录保存(记录操作一定要使用记录操作一定要使用commandbuilder)llstring sqlstr = select * from train;loledbdataadapter da = new oledbdataadapter(sqlstr,conn);loledbcommandbuilder cmd= new
36、oledbcommandbuilder(da);ldataset ds = new dataset();lconn.open();lda.fill(ds,datatable);lldatatable dt=ds.tablesdatatable;ldatarow row=dt.newrow();llrow姓名姓名=textbox1.text;lrow性别性别=textbox2.text; l ldt.rows.add(row);lda.update(ds,datatable);l更新记录更新记录:将数据读到文本框将数据读到文本框 l string sqlstr = select * from t
37、rain where id=+vid;l oledbdataadapter da = new oledbdataadapter(sqlstr,conn);l dataset ds = new dataset();l conn.open();l da.fill(ds,datatable);ll datatable dt=ds.tablesdatatable;l datarow row=dt.rows0;l textbox1.text=row姓名姓名.tostring();l textbox2.text=row性别性别.tostring(); 更新记录保存更新记录保存: (记录操作一定要使用记录操
38、作一定要使用commandbuilder) lstring sqlstr = select * from train where id=+vid;loledbdataadapter da = new oledbdataadapter(sqlstr,conn);loledbcommandbuilder cmd= new oledbcommandbuilder(da); /must!ldataset ds = new dataset();lconn.open();lda.fill(ds,datatable);ldatatable dt=ds.tablesdatatable;ldatarow row
39、=dt.rows0;llrow姓名姓名=textbox1.text;lrow性别性别=textbox2.text;lrow职务职务=textbox3.text;lrow公司公司=textbox4.text;lrow联系联系=textbox5.text;l lda.update(ds,datatable);l删除记录删除记录: (记录操作一定要使用记录操作一定要使用commandbuilder)l l string sqlstr = select * from train where id=+vid;ll oledbdataadapter da = new oledbdataadapter(sq
40、lstr,conn);l oledbcommandbuilder cmd= new oledbcommandbuilder(da); /must!l dataset ds = new dataset();l conn.open();l da.fill(ds,datatable);ll datatable dt=ds.tablesdatatable;l datarow row=dt.rows0;l row.delete();l da.update(ds,datatable);l数据库操作数据库操作(dataset)(dataset) 要求:1 数据库连接串放在web.config文件中2 按考核
41、项目考核项目5界面设计界面设计完成每一项功能3 上传的web.config中的连接串为:l考核项目考核项目7: gridview应用应用 考核项目考核项目7相关技术:相关技术: gridview 中的模版字段,超链接字段和手动分页考核项目考核项目7相关技术:相关技术:模版列 在模版列 中放置图片考核项目考核项目7相关技术:相关技术:模版列代码:l l l l l l 考核项目考核项目7相关技术:相关技术:添加超链接字段考核项目考核项目7相关技术:相关技术:l超链接字段代码:l l 考核项目考核项目7相关技术:相关技术:3 在新页面view.aspx中获取vid学号值,显示信息:l string
42、 vid=requestvid;l string strconn = system.configuration.configurationmanager.connectionstringsoledbconnsqlserver.connectionstring.tostring();l oledbconnection conn = new oledbconnection(strconn);l conn.open();l dataset ds = new dataset();l string strsql=select * from jsjxs where xh=+vid+;l oledbdata
43、adapter da = new oledbdataadapter(strsql, conn);l da.fill(ds, datatable);l datatable dt=ds.tablesdatatable;l datarow row=dt.rows0;l label1.text=学号:学号:+rowxh+姓名:姓名:+rowxm+性别:性别:+rowxb+出生年月:出生年月:+rowcsrq+班级:班级:+rowbj;考核项目考核项目7相关技术:相关技术:4 超链接css:l l a:link color:#000000;text-decoration:none; l a:visite
44、d color:#000000;text-decoration:none; l a:hover color:#ff3300;text-decoration:underline; l a:active color:#ff3300;text-decoration:underline; l 考核项目考核项目7相关技术:相关技术:5 手动分页:四个连接按钮设计界面代码:l l l l 考核项目考核项目7相关技术:相关技术:l两个显示页数标签:l l asp:label id=lblcurrentindex runat=server 考核项目考核项目7相关技术:相关技术:6 显示页数的函数:l priv
45、ate void showstats()l llblcurrentindex.text = 第 + (mygridview.pageindex + 1).tostring() + 页;llblpagecount.text = 总共 + mygridview.pagecount.tostring() + 页;l 考核项目考核项目7相关技术:相关技术:7 绑定gridview的函数:l public void bindgrid()l l string strconn = system.configuration.configurationmanager.connectionstringsoledb
46、connsqlserver.connectionstring.tostring();l oledbconnection conn = new oledbconnection(strconn);l conn.open();l string strsql=select * from jsjxs;l oledbdataadapter da = new oledbdataadapter(strsql,conn);l dataset ds = new dataset();l da.fill(ds, datatable);l mygridview.datasource = ds.tablesdatatab
47、le.defaultview;l mygridview.databind();ll showstats();/调用显示页数的函数l 考核项目考核项目7相关技术:相关技术:8 page_load事件:l if(!ispostback)l lbtnfirst.text = 首页;lbtnprev.text = 前一页;lbtnnext.text = 下一页;lbtnlast.text = 末页;llbindgrid();l 9 连接按钮被点击的函数:pagerbuttonclicklpublic void pagerbuttonclick(object sender, eventargs e)llstring arg = (linkbutton)sender).commandargument.tostring();lswitch(arg)ll case next:lif (mygridview.page
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中药饮片现状分析
- 2024年年度教师全员读书计划
- 加铁艺围墙施工方案
- snw工法桩专项施工方案
- 审计财政工作创新计划
- 2024年度教师校本研训个人学习计划
- 学年苏教版二年级上册语文教学计划范文
- 《健康秋季保健》课件
- 《畸形与脑血管》课件
- 2024年上半年教师德育工作计划例文
- 2024年江苏省苏州市中考数学试卷含答案
- 软件测试汇报
- 吉林省长春市第一〇八学校2024-2025学年七年级上学期期中历史试题
- 2024年世界职业院校技能大赛高职组“市政管线(道)数字化施工组”赛项考试题库
- 初中《孙中山诞辰纪念日》主题班会
- 5.5 跨学科实践:制作望远镜教学设计八年级物理上册(人教版2024)
- 阿斯伯格综合症自测题汇博教育员工自测题含答案
- 天津市2023-2024学年七年级上学期语文期末试卷(含答案)
- 2024年法律职业资格考试(试卷一)客观题试卷及解答参考
- 桩基及基坑支护工程技术施工方案(三篇)
- 司法考试2024年知识点背诵版-民法
评论
0/150
提交评论