SqlDataSource类是基于ADO.NET构建的,它使用ADO.NET中诸如DataSet,DataReader和Command的对象。在构建复杂的多层应用程序时使用SqlDataSource控件并不合适,因为SqlDataSource控件交数据访问层和用户界面层混在一起。SqlDataSource控件能够通过两种方式表示数据:ADO.NET Dataset或DataReader。默认情况下,SqlDataSource用DataSet对象表示记录。DataSet对象表示静态、常驻内在的数据。如果要用DataReader时,设置SqlDataSource的DataSourceMode属性为:DataReader即可。
加密/解密 C:\websites\mywebsite文件夹的web.config文件的
加密:aspnet_regiis -pef connectionstrings "c:C:\websites\mywebsite"
解密:aspnet_regiis -pdf connectionstrings "c:C:\websites\mywebsite"
ObjectDataSource控件绑定到DataReader的方法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.Web.Configuration;
///
///DataReaderMovie 的摘要说明
///
public class DataReaderMovie
{
private readonly string _conString;
public DataReaderMovie()
{
//
//TODO: 在此处添加构造函数逻辑
//
_conString=WebConfigurationManager.ConnectionStrings["Movies"].ConnectionString;
}
public SqlDataReader GetMovies()
{
SqlConnection con = new SqlConnection(_conString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select id,title,director from movies";
con.Open();
//关闭 SqlDataReader 会自动关闭此连接
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}