SqlDataSource[转载]
一、概述
SqlDataSource可以用来连接ODBC、OLEDB、Oracle和SQL Server数据源。它的基本格式如下:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Server= ;Database= ;User ID= ;Password= " ProviderName=" " SelectCommand=" " UpdateCommand=" " DeleteCommand=" " InsertCommand=" " DataSourceMode=" " ></asp:SqlDataSource>
ConnectionSting:连接字符串,可以写在Web.config中,使用<%$ ConnectionStrings:NorthwindConnectionString %>来引用,
<%$ %>是ASP.NET2.0中新增的表达式,用于加载资源内容或包含在配置文件中的特定内容。
ProviderName:数据提供程序名称,包括System.Data.Odbc、System.Data.OleDb、System.Data.OracleClient、System.Data.SqlClient(默认)。
DataSourceMode:枚举值,包括DataSet(默认)和DataReader。
属性、方法、事件就不罗列了,MSDN上都有,可以参考SqlDataSource。
数据库连接失败的处理方式:
当SqlDataSource控件执行Select语句后,将引发Selected事件,并且抛出任何异常。因此,可以在Selected事件中处理程序中,通过检测异常,来判断是否连接数据库失败。对于用户来说,可以得到友好的界面,同时可以避免数据库信息的泄漏。示例代码如下:
<script runat="server">
void SqlDataSource1_OnSelected(Object sender, SqlDataSourceStatusEventArgs e)
{
if (e.Exception != null)
{
if (e.Exception.GetType() == typeof(System.Data.SqlClient.SqlException))
{
//Response.Redirect("Error.aspx");
Label1.Text = "连接数据库失败";
e.ExceptionHandled = true;
}
}
else
{
Label1.Text = "连接数据库成功";
}
}
</script>