// 返回数据库数据DataSet函数
public static DataSet GetTable(String MyTable)
{
// 数据库连接参数(对客户端应用程序配置文件的访问)
string strConn = @ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
// 数据库类型参数(对客户端应用程序配置文件的访问)
string strDBType = @ConfigurationManager.ConnectionStrings["MyConnectionString"].ProviderName;
// 数据库的一个连接
IDbConnection MyConn;
// 创建提供程序对数据源类的实现的实例
System.Data.Common.DbProviderFactory MyFactory = System.Data.Common.DbProviderFactories.GetFactory(strDBType);
// 创建连接数据库的一个打开连接
MyConn = MyFactory.CreateConnection();
// 数据库连接参数
MyConn.ConnectionString = strConn;
try
{
// 使用 ConnectionString 所指定的属性设置打开数据库连接
MyConn.Open();
// 数据库SQL语句
String strSQL = @"SELECT * FROM " + @MyTable;
// 连接到数据源时执行的 SQL 语句
IDbCommand MyComm = MyConn.CreateCommand();
// 指定如何解释命令字符串
MyComm.CommandType = CommandType.Text;
// 数据库SQL语句
MyComm.CommandText = strSQL;
// 一组数据命令和一个数据库连接,用于填充 DataSet 和更新数据源
IDbDataAdapter MyAdapter;
// 数据库类型
switch (strDBType)
{
case "System.Data.SqlClient":
MyAdapter = new SqlDataAdapter((SqlCommand)MyComm);
break;
case "System.Data.OleDb":
MyAdapter = new OleDbDataAdapter((OleDbCommand)MyComm);
break;
case "System.Data.Odbc":
MyAdapter = new OdbcDataAdapter((OdbcCommand)MyComm);
break;
default:
MyAdapter = new SqlDataAdapter((SqlCommand)MyComm);
break;
}
// 数据在内存中的缓存
DataSet MyDataSet = new DataSet();
// 在 DataSet 中添加或刷新行以匹配数据源中的行
MyAdapter.Fill(MyDataSet);
// 返回 DataSet
return MyDataSet;
}
catch (SqlException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
catch (OleDbException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
catch (OdbcException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
catch (Exception Exp) // 异常处理
{
// 异常处理
Console.Write("<script language=JavaScript>");
Console.Write("alert('" + Exp.Message.ToString() + "');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
finally // 执行完毕清除在try块中分配的任何资源
{
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
}
}
public static DataSet GetTable(String MyTable)
{
// 数据库连接参数(对客户端应用程序配置文件的访问)
string strConn = @ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
// 数据库类型参数(对客户端应用程序配置文件的访问)
string strDBType = @ConfigurationManager.ConnectionStrings["MyConnectionString"].ProviderName;
// 数据库的一个连接
IDbConnection MyConn;
// 创建提供程序对数据源类的实现的实例
System.Data.Common.DbProviderFactory MyFactory = System.Data.Common.DbProviderFactories.GetFactory(strDBType);
// 创建连接数据库的一个打开连接
MyConn = MyFactory.CreateConnection();
// 数据库连接参数
MyConn.ConnectionString = strConn;
try
{
// 使用 ConnectionString 所指定的属性设置打开数据库连接
MyConn.Open();
// 数据库SQL语句
String strSQL = @"SELECT * FROM " + @MyTable;
// 连接到数据源时执行的 SQL 语句
IDbCommand MyComm = MyConn.CreateCommand();
// 指定如何解释命令字符串
MyComm.CommandType = CommandType.Text;
// 数据库SQL语句
MyComm.CommandText = strSQL;
// 一组数据命令和一个数据库连接,用于填充 DataSet 和更新数据源
IDbDataAdapter MyAdapter;
// 数据库类型
switch (strDBType)
{
case "System.Data.SqlClient":
MyAdapter = new SqlDataAdapter((SqlCommand)MyComm);
break;
case "System.Data.OleDb":
MyAdapter = new OleDbDataAdapter((OleDbCommand)MyComm);
break;
case "System.Data.Odbc":
MyAdapter = new OdbcDataAdapter((OdbcCommand)MyComm);
break;
default:
MyAdapter = new SqlDataAdapter((SqlCommand)MyComm);
break;
}
// 数据在内存中的缓存
DataSet MyDataSet = new DataSet();
// 在 DataSet 中添加或刷新行以匹配数据源中的行
MyAdapter.Fill(MyDataSet);
// 返回 DataSet
return MyDataSet;
}
catch (SqlException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
catch (OleDbException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
catch (OdbcException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
catch (Exception Exp) // 异常处理
{
// 异常处理
Console.Write("<script language=JavaScript>");
Console.Write("alert('" + Exp.Message.ToString() + "');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return null;
}
finally // 执行完毕清除在try块中分配的任何资源
{
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
}
}