WebServices(C#)–返回查詢資料集(DataSet)
來源:互聯網
上載者:User
[WebMethod(Description = "功能:返回查詢資料集 | 參數:SQL查詢 | 返回:資料集 | 傳回型別:DataSet")]
public DataSet GetDataSet(string strSQL)
{
// 資料庫連接參數(對用戶端應用程式設定檔的訪問)
string strConn = @ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
// 建立串連資料庫的一個開啟串連
// 設定開啟資料庫連接
SqlConnection MyConn = new SqlConnection(strConn);
try // 正常運行
{
string MySQL = @strSQL.Trim().ToString();
// 使用 ConnectionString 所指定的屬性設定開啟資料庫連接
MyConn.Open();
// 要對資料庫執行的一個SQL語句或預存程序
SqlCommand MyComm = new SqlCommand(MySQL, MyConn);
// 一組資料命令和一個資料庫連接,用於填充 DataSet 和更新資料來源
SqlDataAdapter MyAdapter = new SqlDataAdapter();
// 資料在記憶體中的緩衝
DataSet MyDataSet = new DataSet();
// 進行資料庫查詢
MyAdapter.SelectCommand = new SqlCommand(strSQL, MyConn);
// 在 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 // 異常處理
{
if (MyConn.State == ConnectionState.Open)
{
// 關閉資料庫連接
MyConn.Close();
}
// 返回失敗
return null;
}
finally // 執行完畢清除在try塊中分配的任何資源
{
if (MyConn.State == ConnectionState.Open)
{
// 關閉資料庫連接
MyConn.Close();
}
}
}