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);




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章