返回數據庫數據的存儲過程函數(3個參數)(SQL Server)
// 返回數據庫數據的存儲過程函數(3個參數)(SQL Server)
public SqlDataReader GetPrViewReader(String strProcedure, String strLookUp, String strNewLookUp, String strNewNewLookUp, String strBeginDate, String strEndDate)
{
// 數據庫連接參數(對客戶端應用程序配置文件的訪問)
string strConn = @ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
// 創建連接數據庫的一個打開連接
SqlConnection MyConn = new SqlConnection(strConn);
try // 正常運行
{
// 要對數據庫執行的一個SQL語句或存儲過程
SqlCommand MyComm = new SqlCommand(strProcedure, MyConn);
// 採用存儲過程方式
MyComm.CommandType = CommandType.StoredProcedure;
// 清除所有實例
MyComm.Parameters.Clear();
////////////////////////////////////////////////////////////////////////////////////////////////
// Lookup
MyComm.Parameters.Add("@LookUp", SqlDbType.Text).Value = strLookUp;
// NewLookUp
MyComm.Parameters.Add("@NewLookUp", SqlDbType.Text).Value = strNewLookUp;
// NewNewLookUp
MyComm.Parameters.Add("@NewNewLookUp", SqlDbType.Text).Value = strNewNewLookUp;
// BeginDate
MyComm.Parameters.Add("@BeginDate", SqlDbType.Text).Value = strBeginDate;
// BeginDate
MyComm.Parameters.Add("@EndDate", SqlDbType.Text).Value = strEndDate;
// 使用 ConnectionString 所指定的屬性設置打開數據庫連接
MyConn.Open();
// 提供一種從數據庫讀取只進的行流的一種方式
SqlDataReader MyReader = MyComm.ExecuteReader();
// 讀取數據,判斷是否有數據
if (MyReader.HasRows)
{
// 返回成功
return MyReader;
}
else
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系統提示:數據讀取失敗或網絡忙,請稍後再試!');");
Console.Write("</script>");
if ((MyReader != null) & (MyReader.IsClosed != true))
{
// 關閉
MyReader.Close();
}
// 判斷數據庫連接
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
MyConn.Close();
}
// 返回失敗
return null;
}
}
catch (SqlException) // 數據庫操作異常處理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系統提示:當前數據庫操作失敗或網絡忙,請稍後再試!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
MyConn.Close();
}
// 返回失敗
return null;
}
catch // 異常處理
{
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
MyConn.Close();
}
// 返回失敗
return null;
}
finally // 執行完畢清除在try塊中分配的任何資源
{
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
//MyConn.Close();
}
}
}
public SqlDataReader GetPrViewReader(String strProcedure, String strLookUp, String strNewLookUp, String strNewNewLookUp, String strBeginDate, String strEndDate)
{
// 數據庫連接參數(對客戶端應用程序配置文件的訪問)
string strConn = @ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
// 創建連接數據庫的一個打開連接
SqlConnection MyConn = new SqlConnection(strConn);
try // 正常運行
{
// 要對數據庫執行的一個SQL語句或存儲過程
SqlCommand MyComm = new SqlCommand(strProcedure, MyConn);
// 採用存儲過程方式
MyComm.CommandType = CommandType.StoredProcedure;
// 清除所有實例
MyComm.Parameters.Clear();
////////////////////////////////////////////////////////////////////////////////////////////////
// Lookup
MyComm.Parameters.Add("@LookUp", SqlDbType.Text).Value = strLookUp;
// NewLookUp
MyComm.Parameters.Add("@NewLookUp", SqlDbType.Text).Value = strNewLookUp;
// NewNewLookUp
MyComm.Parameters.Add("@NewNewLookUp", SqlDbType.Text).Value = strNewNewLookUp;
// BeginDate
MyComm.Parameters.Add("@BeginDate", SqlDbType.Text).Value = strBeginDate;
// BeginDate
MyComm.Parameters.Add("@EndDate", SqlDbType.Text).Value = strEndDate;
// 使用 ConnectionString 所指定的屬性設置打開數據庫連接
MyConn.Open();
// 提供一種從數據庫讀取只進的行流的一種方式
SqlDataReader MyReader = MyComm.ExecuteReader();
// 讀取數據,判斷是否有數據
if (MyReader.HasRows)
{
// 返回成功
return MyReader;
}
else
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系統提示:數據讀取失敗或網絡忙,請稍後再試!');");
Console.Write("</script>");
if ((MyReader != null) & (MyReader.IsClosed != true))
{
// 關閉
MyReader.Close();
}
// 判斷數據庫連接
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
MyConn.Close();
}
// 返回失敗
return null;
}
}
catch (SqlException) // 數據庫操作異常處理
{
Console.Write("<script language=JavaScript>");
Console.Write("alert('系統提示:當前數據庫操作失敗或網絡忙,請稍後再試!');");
Console.Write("</script>");
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
MyConn.Close();
}
// 返回失敗
return null;
}
catch // 異常處理
{
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
MyConn.Close();
}
// 返回失敗
return null;
}
finally // 執行完畢清除在try塊中分配的任何資源
{
if (MyConn.State == ConnectionState.Open)
{
// 關閉數據庫連接
//MyConn.Close();
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.