Welcome 微信登录

首页 / 网页编程 / ASP.NET

在ASP.NET 2.0中操作数据之六十二:GridView批量更新数据

在ASP.NET 2.0中操作数据之六十二:GridView批量更新数据

导言: 在前面的教程,我们对数据访问层进行扩展以支持数据库事务.数据库事务确保一系列的操作要么都成功,要么都失败。本文我们将注意力转到创建一个批更新数据界面. 在本文,我们将创建一个GridView控件,里面的每一行记录都可以进行编辑(见图1),因此我们没有必要多添加一列来包含Edit, Update,和Cancel按钮,而是在页面包含2个“Update Products”按钮,被点击时,遍历所有的产品并对数据库进行更新.让我们开始吧.图1:GridV...
在ASP.NET 2.0中操作数据之六十三:GridView实现批量删除数据

在ASP.NET 2.0中操作数据之六十三:GridView实现批量删除数据

导言: 在前面的教程,我们用GridView创建了一个批编辑界面。在用户需要一次性编辑多条记录的情况下,批编辑界面很有用。同理,当用户需要同时删除多条记录时,该技术也很有用. 如果你使用过邮件系统的话,你应该对这种最常见的批删除界面很熟悉:界面里每一行都包含一个checkbox,此外,还有一个“Delete All Checked Items”按钮(如图1).本教程比较短,因为我们在前面的教程已经完成大体的框架,在前面的第50章《为GridView控件...
在ASP.NET 2.0中操作数据之六十四:GridView批量添加数据

在ASP.NET 2.0中操作数据之六十四:GridView批量添加数据

导言: 在前面的第62章《GridView批量更新数据》里,我们用GridView控件里定制了一个批编辑界面,同样的我们也可以定制一个批添加界面.假设有这种情况,我们接受一批从Tokyo(东京)发过来的货物:6种不同的tea 和 coffee,如果用户在一个DetailsView控件里一次输入一个产品,他将会重复的输入很多相同的值,比如相同的种类(Beverages),相同的供应商(Tokyo Traders),相同的discontinued值(Fals...
在ASP.NET 2.0中操作数据之六十五:在TableAdapters中创建新的存储过程

在ASP.NET 2.0中操作数据之六十五:在TableAdapters中创建新的存储过程

导言: 本教程的Data Access Layer (DAL)使用的是类型化的数据集(Typed DataSets).就像我们在第一章《创建一个数据访问层》里探讨的一样,该类型化的数据集由强类型的DataTable和TableAdapter构成。DataTable描绘的是系统里的逻辑实体而TableAdapter引用相关数据库执行数据访问,包括对DataTable填充数据、执行返回标量数据(scalar data)的请求、添加,更新,删除数据库里的记录等...
ASP.NET防范SQL注入式攻击的方法

ASP.NET防范SQL注入式攻击的方法

一、什么是SQL注入式攻击? SQL注入式攻击就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如: ⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。 ⑵ 登录页面中输入的...
Asp.net中使用文本框的值动态生成控件的方法

Asp.net中使用文本框的值动态生成控件的方法

看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花”字,点一下“生成”按钮,就会在下面生成一个checkbox,它的text属性是“花”。再输入一个“鸟”,点一下按钮,就会生成第二个checkbox控件,text属性是“鸟”...Insus.NET的解决方法很简单,就是每次在文本框输入的值都存起来,然后把这些数据绑定至一个CheckBoxList控件上就行了。详细,先创建一个对象:using System;using Sys...
在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程

在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程

导言: 在前面的文章里我们考察了如何让TableAdapters向导自动的创建存储过程.而在本文,我们将考察如何让TableAdapter使用现有的存储过程。由于Northwind数据库现有的存储过程很少,我们也需要考察如何在Visual Studio环境里手动向数据库添加新的存储过程. 注意:在第61章《在事务里对数据库修改进行封装》里我们向TableAdapter添加了一些方法以支持事务(比如 (BeginTransaction, CommitTr...
在ASP.NET 2.0中操作数据之六十七:在TableAdapters中使用JOINs

在ASP.NET 2.0中操作数据之六十七:在TableAdapters中使用JOINs

导言: 在关系数据库里,我们处理的数据通常跨越了几个数据表。举例:当展示产品信息时我们很可能想列出每个产品相应的category以及供应商的名称等.诚然,Products表里包含有CategoryID 和SupplierID值,但是事实上的category以及supplier names分别定义在Categories表和Suppliers表里. 要从其它的相关表里获取信息,我们可以使用correlated subqueries或JOINs.一条corre...
在ASP.NET 2.0中操作数据之六十八:为DataTable添加额外的列

在ASP.NET 2.0中操作数据之六十八:为DataTable添加额外的列

导言: 当向类型化的数据集(Typed DataSet)添加一个TableAdapter时,相应的DataTable的构架已经由TableAdapter的主查询定义好了.比如,如果主查询返回A, B,C这3个域,那么 DataTable将有对应的3个列A, B,和C.除了主查询以外,TableAdapter还可以包含其他的查询,可能是返回基于某些参数的数据。比如,ProductsTableAdapter的主查询返回所有产品的信息,此外,ProductsT...
在ASP.NET 2.0中操作数据之六十九:处理Computed Columns列

在ASP.NET 2.0中操作数据之六十九:处理Computed Columns列

导言: Microsoft SQL Server里有一种computed columns列.这种列的值是通过一个表达式来计算,而表达式引用的是同一张表的其它列的值.打个比方,有一张ServiceLog表,其包含了ServicePerformed, EmployeeID, Rate, Duration等列. 虽然我们可以在一个web页面或其它什么界面里计算每笔服务的费用(也就是 比率 rate乘以时间段duration),不过我们也可以手动向Service...
在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置

在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置

导言: 在本系列我们用类型化的DataSets来构建数据访问层。就像在第一章探讨的那样,类型化DataSets的DataTables用作存储数据的“仓库”,而TableAdapters作为连接数据库的通道,以检索、修改数据.TableAdapters 将处理数据库的很多复杂的细节进行了封装,将我们解脱出来,免去了写代码连接数据库、发出命名、向DataTable填充数据的痛苦. 不过在某些时候我们需要深入的探究TableAdapter,直接写代码处理AD...
在ASP.NET 2.0中操作数据之七十一:保护连接字符串及其它设置信息

在ASP.NET 2.0中操作数据之七十一:保护连接字符串及其它设置信息

导言: ASP.NET应用程序的设置信息通常都存储在一个名为Web.config的XML文件里。在教程的前面部分我们已经好几次修改过Web.config文件了.比如在第一章,我们创建名为Northwind的数据集时,数据库连接字符串信息自动的添加到Web.config文件的<connectionStrings>节点.再后来,在第3章里,我们手动更新了Web.config文件,添加了一个<pages>元素,对所有的ASP.NET页面...
在ASP.NET 2.0中操作数据之七十二:调试存储过程

在ASP.NET 2.0中操作数据之七十二:调试存储过程

导言: Visual Studio有很多的调试功能.我们只需要稍稍点点鼠标,敲敲键盘就可以使用断点(breakpoints)来打断某个程序的执行,并查看其状态.除了调试代码以外,Visual Studio也支持对SQL Server里面的存储过程进行调试.就像可以在ASP.NET页面的后台代码类或Business Logic Layer class类里设置断点一样,我们也可以在存储过程里设置断点. 本文我们将考察如何在Visual Studio的Ser...
解决uploadify使用时session发生丢失问题的方法

解决uploadify使用时session发生丢失问题的方法

今天在使用uploadify时发现session会发生丢失的情况,经过一番研究发现,其丢失并不是真正的丢失,而是在使用Flash上传控件的时候使用的session机制和asp.net中的不相同。为解决这个问题使用两种方案,下面进行介绍第一种:修改Gobal前台aspx页面:$("#uploadify").uploadify({ "uploader": "/LZKS/Handler/BigFileUpLoadHandler.ashx", "swf": "/L...
在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)

在ASP.NET 2.0中操作数据之七十三:用Managed Code创建存储过程和用户自定义函数(上部分)

导言: 数据库,比如Microsoft"s SQL Server 2005使用Transact-Structured Query Language (T-SQL)来插入、修改、检索数据.绝大多数数据库系统都包含constructs来对一系列的SQL statements进行分组,这些statements可以作为单独的单元来执行.存储过程就是一个例子,另一个例子是用户自定义函数(UDFs), 我们将在第9步进行详细的探讨. SQL是设计来处理一系列数据的...
在ASP.NET 2.0中操作数据之七十四:用Managed Code创建存储过程和用户自定义函数(下部分)

在ASP.NET 2.0中操作数据之七十四:用Managed Code创建存储过程和用户自定义函数(下部分)

第八步:从表现层调用Managed Stored Procedures 当对数据访问层和业务逻辑层进行扩充以支持调用GetDiscontinuedProducts 和 GetProductsWithPriceLessThan这2种managed stored procedures后,我们可以在一个ASP.NET页面里展示这些存储过程的结果了. 打开AdvancedDAL文件夹里的ManagedFunctionsAndSprocs.aspx页面,从工具箱...
<< 201 202 203 204 205 206 207 208 209 210 >>