// 返回数据库数据总数的过程(1个参数)
public int GetDataCount(String MySQL)
{
int iCount = 0;
// 数据库连接参数(对客户端应用程序配置文件的访问)
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 = @MySQL.Trim().ToString();
// 创建要对数据库执行的一个SQL语句或存储过程
SqlCommand MySqlComm;
// 创建要对数据库执行的一个SQL语句或存储过程
OleDbCommand MyOleDbComm;
// 创建要对数据库执行的一个SQL语句或存储过程
OdbcCommand MyOdbcComm;
// 数据库类型
switch (strDBType)
{
/* ------------------------------------------------------------------------------------------------ */
/* 使用SqlServer数据库 */
/* ------------------------------------------------------------------------------------------------ */
case "System.Data.SqlClient":
// 连接到数据源时执行的 SQL 语句
MySqlComm = (SqlCommand)MyConn.CreateCommand();
// 指定如何解释命令字符串
MySqlComm.CommandType = CommandType.Text;
// 数据库SQL语句
MySqlComm.CommandText = strSQL;
// 提供一种从数据库读取只进的一种方式
SqlDataReader MySqlReader = MySqlComm.ExecuteReader();
// 读取数据,判断是否有数据
if (MySqlReader.HasRows)
{
// 读取数据
while (MySqlReader.Read())
{
iCount++;
}
// 返回成功
return iCount;
}
break;
/* ------------------------------------------------------------------------------------------------ */
/* 使用Access数据库 */
/* ------------------------------------------------------------------------------------------------ */
case "System.Data.OleDb":
// 连接到数据源时执行的 SQL 语句
MyOleDbComm = (OleDbCommand)MyConn.CreateCommand();
// 指定如何解释命令字符串
MyOleDbComm.CommandType = CommandType.Text;
// 数据库SQL语句
MyOleDbComm.CommandText = strSQL;
// 提供一种从数据库读取只进的一种方式
OleDbDataReader MyOleDbReader = MyOleDbComm.ExecuteReader();
// 读取数据,判断是否有数据
if (MyOleDbReader.HasRows)
{
// 读取数据
while (MyOleDbReader.Read())
{
iCount++;
}
// 返回成功
return iCount;
}
break;
/* ------------------------------------------------------------------------------------------------ */
/* 使用Odbc数据库 */
/* ------------------------------------------------------------------------------------------------ */
case "System.Data.Odbc":
// 连接到数据源时执行的 SQL 语句
MyOdbcComm = (OdbcCommand)MyConn.CreateCommand();
// 指定如何解释命令字符串
MyOdbcComm.CommandType = CommandType.Text;
// 数据库SQL语句
MyOdbcComm.CommandText = strSQL;
// 提供一种从数据库读取只进的一种方式
OdbcDataReader MyOdbcReader = MyOdbcComm.ExecuteReader();
// 读取数据,判断是否有数据
if (MyOdbcReader.HasRows)
{
// 读取数据
while (MyOdbcReader.Read())
{
iCount++;
}
// 返回成功
return iCount;
}
break;
default:
break;
}
// 返回失败
return 0;
}
catch (SqlException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return 0;
}
catch (OleDbException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return 0;
}
catch (OdbcException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return 0;
}
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 0;
}
finally // 执行完毕清除在try块中分配的任何资源
{
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
}
}
public int GetDataCount(String MySQL)
{
int iCount = 0;
// 数据库连接参数(对客户端应用程序配置文件的访问)
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 = @MySQL.Trim().ToString();
// 创建要对数据库执行的一个SQL语句或存储过程
SqlCommand MySqlComm;
// 创建要对数据库执行的一个SQL语句或存储过程
OleDbCommand MyOleDbComm;
// 创建要对数据库执行的一个SQL语句或存储过程
OdbcCommand MyOdbcComm;
// 数据库类型
switch (strDBType)
{
/* ------------------------------------------------------------------------------------------------ */
/* 使用SqlServer数据库 */
/* ------------------------------------------------------------------------------------------------ */
case "System.Data.SqlClient":
// 连接到数据源时执行的 SQL 语句
MySqlComm = (SqlCommand)MyConn.CreateCommand();
// 指定如何解释命令字符串
MySqlComm.CommandType = CommandType.Text;
// 数据库SQL语句
MySqlComm.CommandText = strSQL;
// 提供一种从数据库读取只进的一种方式
SqlDataReader MySqlReader = MySqlComm.ExecuteReader();
// 读取数据,判断是否有数据
if (MySqlReader.HasRows)
{
// 读取数据
while (MySqlReader.Read())
{
iCount++;
}
// 返回成功
return iCount;
}
break;
/* ------------------------------------------------------------------------------------------------ */
/* 使用Access数据库 */
/* ------------------------------------------------------------------------------------------------ */
case "System.Data.OleDb":
// 连接到数据源时执行的 SQL 语句
MyOleDbComm = (OleDbCommand)MyConn.CreateCommand();
// 指定如何解释命令字符串
MyOleDbComm.CommandType = CommandType.Text;
// 数据库SQL语句
MyOleDbComm.CommandText = strSQL;
// 提供一种从数据库读取只进的一种方式
OleDbDataReader MyOleDbReader = MyOleDbComm.ExecuteReader();
// 读取数据,判断是否有数据
if (MyOleDbReader.HasRows)
{
// 读取数据
while (MyOleDbReader.Read())
{
iCount++;
}
// 返回成功
return iCount;
}
break;
/* ------------------------------------------------------------------------------------------------ */
/* 使用Odbc数据库 */
/* ------------------------------------------------------------------------------------------------ */
case "System.Data.Odbc":
// 连接到数据源时执行的 SQL 语句
MyOdbcComm = (OdbcCommand)MyConn.CreateCommand();
// 指定如何解释命令字符串
MyOdbcComm.CommandType = CommandType.Text;
// 数据库SQL语句
MyOdbcComm.CommandText = strSQL;
// 提供一种从数据库读取只进的一种方式
OdbcDataReader MyOdbcReader = MyOdbcComm.ExecuteReader();
// 读取数据,判断是否有数据
if (MyOdbcReader.HasRows)
{
// 读取数据
while (MyOdbcReader.Read())
{
iCount++;
}
// 返回成功
return iCount;
}
break;
default:
break;
}
// 返回失败
return 0;
}
catch (SqlException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return 0;
}
catch (OleDbException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return 0;
}
catch (OdbcException) // 数据库操作异常处理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系统提示:当前数据库操作失败或网络忙,请稍后再试!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
// 返回失败
return 0;
}
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 0;
}
finally // 执行完毕清除在try块中分配的任何资源
{
if (MyConn.State == ConnectionState.Open)
{
// 关闭数据库连接
MyConn.Close();
}
}
}