1. 程式人生 > >ASP.NET MVC的常用資料庫查詢和提取模式

ASP.NET MVC的常用資料庫查詢和提取模式

本文主要記錄目前比較常用的兩種ASP.NET資料庫查詢和提取模式。

方法一:是利用SQL的查詢語句來進行資料庫檢索,然後利用DataReader提取資料,進行輸出。

方法二:是利用ENTITY FRAMEWORK,構建連線,利用Linq語句進行檢索查詢和輸出。

先說方法二:

這種結構相對簡單。

首先,在model資料夾中新建資料庫連線,獲得資料上下文。

然後在控制器中,例項化,並獲取泛型集合。

UserInfoEntities ef = new UserInfoEntities();

List<UserList> _list = ef.UserList.ToList();

最後使用

linq語句,從集合中檢索。

_list = _list.OrderBy(c => c.ID).Skip(int.Parse(LastPageSize)).Take(PageSize).ToList();

return View(_list);

最後返還給view檢視。

方法一:

第一步與方法二相同;

第二步是在控制器中,建立sql查詢語句,然後通過DataReader把資料讀出,賦值給泛型集合。賦值的方法有兩種,一個是值對值的賦值,另一個是使用object物件,獲取全部資料。

    由於我的測試案例相對簡單,所以使用了值對值的賦值方法。

UserInfoEntities ef = new UserInfoEntities();
string findSql = "select top " + PageSize + " * from UserList "
+ "where ID not in( select top " + LastPageSize + " ID from MyTestPages order by Id) order by ID";
string constr = "server=.;database=UserInfo;uid=sa;pwd=123456";
SqlConnection mycon = new SqlConnection(constr);
mycon.Open();
SqlCommand mycom = new SqlCommand(findSql, mycon);

SqlDataReader mydr = mycom.ExecuteReader();
List<UserList> _list=new List<UserList>();
while (mydr.Read())
{
UserList userList = new UserList();
//通過值對值的方式,給userList這個類分別賦值
//整體賦值可以通過迴圈獲取object,然後再賦值給泛型
//給id賦值的方式有一下幾種
//userList.ID = int.Parse(mydr.GetValue(0).ToString());
//userList.ID = int.Parse(mydr["ID"].ToString());?
userList.ID = int.Parse(mydr[0].ToString());
_list.Add(userList);
}
mydr.Close();
mycon.Close();
return View(_list);