Asp.net2.0 Web开发

来源:互联网 发布:深度linux u盘安装 编辑:程序博客网 时间:2024/06/08 09:22

Asp.net2.0 Web开发

CREATE PROCEDURE UpdateUserInfo
 @UserName varchar(50),
 @PassWord varchar(50),
 @ID int
 AS
 Update UserInfo set UserName=@UserName,[PassWord]=@PassWord where ID=@ID
GO


Asp.net2.0 Web开发

一,Asp.net网站:
 1,文件系统,指向本地硬盘的一个文件夹,浏览时使用VS自带的小型服务嚣
 2,Http网站,使用VS打开IIS内设置好的一个站点;

二,站点资源:
 1,App_Data:属于Asp.net文件夹,用于包含数据库,.mdf,.mdb,.xml...
 2,App_Code:包含用户自定义类
 3,.aspx页Asp.net动态网页
 4,.aspx.cs页,与网页相关联的代码逻辑页
 5,添加资源,在网站项目上右键》添加新项
 6,Web.config 网站配置文件,用于保存网站项目的多种配置,常见的有,存储数据库连接字符串,是否启用调试等。

三,网页:
 1,代码关联:通过.aspx页顶端的Page项标识:
  CodeFile:标识当前网页所关联的.cs代码页
  Inherits:当前网页自动生成的类名
 2,.cs代码页:
  自动引用常用的类,通过命名空间
  自动生成一个类,继承自System.Web.UI.Page
  自动包含事件Page_Load,用于在载入页面时执行指定操作,使用if(!IsPostBack)限定只在第一次载入时执行
 
四,控件:
 1,HTML控件,生成普通HTML标签
 2,ASP.net控件,具备程序交互功能;
 3,通过属性面板,可以修改设置控件不同属性
 4,给控件添加事件,选择控件,通过属性面板,如按钮支持Click(),不同控件,支持不同事件

五,生成
 F5:运行并调试
 Ctrl+F5:运行不调试


六,数据操作:
 使用框架内ADO.net技术完成,支持所有主流数据库结构
 1,连接,获取数据:(以SQL2000)为例
 数据源控件:SqlDataSource智能配置连接数据库;依据自动配置属性生成连接字符串,并建议保存在Web.config中。可以将配置获取的数据直接绑定到目标的数据显示控上,如:GridView,DropDownList等
 AccessDataSource控件与SqlDataSource原理相同,区别在于连接的数据库类型不同;
 ObjectDataSource控件,所连接的对象为业务实体,而不是数据库
 数据源控件特点:
 优点:配置简单,智能化程度高
 缺点:灵活性差,不便于代码分层,不易于维护;
 
 2,编写代码获取数据:使用DataSet或DataReader
 1)使用DataReader获取数据:
 主要步骤:
  a)引用数据操作及相应数据提供者的命名空间:
  如:
  using System.Data;
  using System.Data.SqlClient;
  b)准备好数据库连接信息(即连接字符串,通常建议保存在web.config)   
  c)建立到数据库的连接,使用Connection类,实例化时需要正确的连接字符串,如
   SqlConnection conn=new SqlConnection("连接串");
  d)实例化Command类,用于执行SQL操作,需知道所执行的SQL语句和所使用的连接;如:
   SqlCommand cmd=new SqlCommand("select..",conn);
  e)打开数据库连接,使用连接的Open()方法,如:conn.Open();
  f)声明DataReader对象用于接收数据;
  g)调用Command对象的ExecuteReader()方法,执行操作,并将数据结果赋给DataReader
 
  h)通过DataReader.Read()方法判断是否有记录,再通过循环将数据输出
  i)关闭数据连接,如:conn.Close();
 DataReader特点:操作时数据库必须保持连接状态,执行效率高。结果是只读/向前的,不能做更多操作。


 2)使用DataSet获取数据:DataSet用于在内存中保存数据表的一个映射,在操作时可以断开数据库的连接,DataSet下包含一个或多个DataTable用于存储数据,DataTable由行(DataRow)和列(DataColumn)组成;通过使用DataAdapter适配器来作为数据操作的桥梁
 关键步骤:
 1.引入命名空间
 2.建立连接
 3.使用适配器操作获取数据
 4.将适配器中的数据填充到DataSet的某张表(DataTable)中
  如:DataAdapter.Fill(DataSet,"DataTable")
 5.在内存中的DataSet里进一步操作,如:绑定到控件等
 DataSet特点:数据保存在内存中,可以减轻部分数据库压力,但会消耗一定的客户端内存资源,但灵活性更大。使用适配器操作时无需显式的打开/关闭数据连接,适配器会智能处理

 

在Web.config中存储数据库连接字符串,保存在<connectionStrings></connectionString>配置节中:
 例:
 <connectionStrings>
        <add name="NorthwindConnectionString" connectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
 name:给连接字符串命名,便于在程序中调用
 connectionString:保存数据库连接信息
 providerName:标示数据提供者类型

 在程序中读取web.config中的连接字符串
 例:
 string strConn=ConfigurationManager.ConnectionStrings["名称"].connectionString;

 


ADO.net中的SQL支持:
 1,建立连接
 2,准备SQL语句或存储过程
 3,准备Command命令,用于执行SQL语句
  指定Command对象所用的SQL语句或存储过程名称,如:cmd.CommandText = strSql;
  指定Command对象所用的连接(可以在实例化对象时以参数传入),如:cmd.Connection = conn;
  如果执行的是存储过程,还必须显式的指定Command的命令类型为存储过程,例:cmd.CommandType = CommandType.StoredProcedure;
 
  如果在使用的SQL语句或存储过程中使用了类似"@UserName"参数,必须声明相应的参数,并且赋值。
 4,显式打开数据库,例:conn.Open();
 5,调用Command对象的方法,用于执行命令:
  ExecuteReader():执行选择操作,并将结果赋给DataReader;
  ExecuteScalar();执行一个选择操作,并返回结果的第一行,第一列
  ExecuteNoneQuery();执行操作,不返回数据结果,但返回受影响的行数
 6,操作完毕,显式的关闭数据库连接

 

常用代码封装:可以将常用的操作封装到一个类里面,便于维护与重用,通用类建立放置在站点根目录下的"App_Code"文件夹下,该目录下的业务实体,在页面上会自动引用;对于一般的方法可以考虑声明为static静态,这样可以在不声明类实例的情况下就可以直接调用
 
 合理利用ObjectDataSource控件,连接获取自定义业务实体内的数据,提高开发效率;