Bài giảng học phần Thiết kế lập trình Web: Chương 4.4 - GV. Trần Minh Hùng
lượt xem 22
download
Bài giảng học phần Thiết kế lập trình Web: Chương 4.4 giới thiệu tổng quan về ADO.Net, tạo kết nối với cơ sở dữ liệu, các điều khiển ràng buộc danh sách, hiển thị DataSet vào điều khiển List-Boud. Mời bạn đọc tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng học phần Thiết kế lập trình Web: Chương 4.4 - GV. Trần Minh Hùng
- 5/10/2013 ADO.NET CHƯƠNG IV: Tổng quan về ADO.NET ADO.NET Tạo kết nối đến CSDL. Các điều khiển ràng buộc danh sách(List- Bound) Hiển thị DataSet vào điều khiển List-Bound 5/10/2013 1 5/10/2013 2 TỔNG QUAN VỀ ADO.NET TỔNG QUAN VỀ ADO.NET ADO.NET cung cấp khả năng truy cập các Đối tượng ADO.NET Dataset cũng có thể được nguồn dữ liệu một cách nhất quán như SQL sử dụng một cách độc lập với .NET data Server, dữ liệu quản lý thông qua OLE DB và provider để quản lý dữ liệu thuộc những ứng XML dụng hoặc những nguồn từ XML ADO.NET bao gồm các trình cung cấp dữ liệu Lớp ADO.NET được tìm thấy trong namespace .NET (.NET data provider) cho việc kết nối đến System.Data, và được tích hợp với lớp XML cơ sở dữ liệu, thực thi một câu lệnh và truy được tìm thấy trong namespace System.Xml xuất kết quả. Connection 5/10/2013 3 5/10/2013 4 1
- 5/10/2013 MôhìnhđốitượngADO.NET MôhìnhđốitượngADO.NET 5/10/2013 5 5/10/2013 6 KHÔNG GIAN TÊN CẤU TRÚC CỦA ADO.NET Không gian tên sử dụng trong ADO.NET ADO.NET Components được thiết kế để quản lý gồm: việc truy cập dữ liệu từ nguồn dữ liệu. Có 2 System.Data thành phần chính trong ADO.NET: System.Data.Common ADO.NET Dataset là thành phần chính của System.Data.SqlClient: dùng cho cơ sở dữ kiến trúc kết nối gián đoạn của ADO.NET. liệu SQL Dataset bao gồm tập hợp một hoặc nhiều đối tượng DataTable System.Data.OleDb dùng cho cơ sở dữ liệu access 5/10/2013 7 5/10/2013 8 2
- 5/10/2013 CẤU TRÚC CỦA ADO.NET CẤU TRÚC CỦA ADO.NET NET Data Provider - một tập hợp các thành phần bao gồm các đối tượng Connection: cung cấp việc kết nối đến CSDL Command :truy cập các câu lệnh CSDL DataReader: cung cấp một luồng truy xuất DL DataAdapter: cung cấp cầu nối giữa đối tượng Dataset và CSDL. DataAdapter sử dụng đối tượng Command để thực thi các câu lệnh SQL 5/10/2013 9 5/10/2013 10 Các đối tượng trong ADO.Net Đối tượng Connection Kết nối với cơ sở dữ liệu Sql: Chức năng: Thiết lập kết nối đến cơ sở dữ liệu Kết nối với cơ sở dữ liệu access: SqlConnection con;// Khai báo String strcon; strCon= “Server=ServerName;Database=DBName;uid=userName;pwd=password”; OleDbConnection con;// Khai báo con = new SqlConnection(strCon); String strcon; con.Open(); strCon ="Provider=Microsoft.Jet.OleDb.4.0;Data Source ="; strCon = strCon + Server.MapPath(".") + "\\sv.mdb"; con = new OleDbConnection(strCon); con.Open(); 5/10/2013 11 5/10/2013 12 3
- 5/10/2013 Các phương thức của Connection Cácphươngthức: Phương thức ExecuteNonQuery():Thựcthinhữngcâulệnh Open(): mở kết nối như: INSERT, UPDATE or DELETE Close(): đóng kết nối ExecuteScalar():Trảvềgiátrịđơntừmộttruyvấndữli ệu. ExecuteReader():Trảvềtậprecord. 5/10/2013 13 5/10/2013 14 Các đối tượng trong ADO.Net Các đối tượng trong ADO.Net Đối tượng Command: thực thi câu lệnh SQL Các phương thức của DataCommand hoặc một Stored procedure Cancel(): Huỷ bỏ thực thi của một Một Data Command là một thể hiện của class SqlCommand OleDbCommand hoặc class SqlCommand CreateParameter():Tạo một thể hiện mới cho đối tượng SqlParameter. 5/10/2013 15 5/10/2013 16 4
- 5/10/2013 Các đối tượng trong ADO.Net Các đối tượng trong ADO.Net ExecuteNonQuery(): Thực thi một câu lệnh T-SQL dựa vào Connection và trả về số mẫu tin bị ảnh Các thuộc tính của Data Command hưởng như UPDATE, INSERT, DELETE. Connection: Command tham chiếu đến một ExecuteScalar(): Trả về giá trị đơn (Giá trị cụ thể connection, đối tượng này dùng để giao tiếp với như 1 table, 1 record, 1 filed …) từ một truy vấn dữ cơ sở dữ liệu, nhận hay trả về SqlConnection mà liệu. command sử dụng ExecuteReader(): Gửi CommandText đến CommandText: nhận hoặc trả về câu lệnh Connection và xây dựng một SqlDataReader, trả về T-Sql hay thủ tục để thực thi tập các records 5/10/2013 17 5/10/2013 18 Các đối tượng trong ADO.Net Các đối tượng trong ADO.Net CommandTimeout: nhận hay trả về thời gian DataReader: được sử dụng trong những ứng chờ thực thi dụng web với những thao tác ngắn với từng CommandType: nhận/ trả về giá trị cho biết yêu cầu, thường là chỉ để hiển thị dữ liệu. loại commandtext được gán, các giá trị gồm Có 2 loại DataReader: OleDbDataReader và StoredProcedure, TableDirect,Text. Mặc định là SqlDataReader. Text DataReader cung cấp cách truy xuất dữ liệu forward-only, read – only. OleDbCommand cmd = new OleDbCommand(strsql,con); (với strsql là câu truy vấn cụ thể ) 5/10/2013 19 5/10/2013 20 5
- 5/10/2013 Các đối tượng trong ADO.Net Các đối tượng trong ADO.Net OleDbCommand cmd; Để dùng SqlDataReader phải khai báo một String strSql; SqlCommand. SqlCommand cung cấp một strSql = "select * from tblsv"; phương thức ExecuteReader() mà nó trả về cmd = new OleDbCommand(strSql, con); một SqlDataReader khi thi hành một câu lệnh rd = cmd.ExecuteReader(); SQL hoặc một stored Procedure OleDbCommand cmd; String strSql; Tương đương strSql = "select * from tblsv"; cmd = new OleDbCommand(); cmd.Connection = con; cmd.CommandText = strSql; 5/10/2013 21 rd = cmd.ExecuteReader(); 5/10/2013 22 Các đối tượng trong ADO.Net Phương thức của DataReader Read(): Đọc tới record cuối cùng EOF. NextResult(): di chuyển tới record kế tiếp Để đọc giá trị của từng field. Sử dụng câu lệnh: DataReader rs;// Khai báo rs[“NameFiled”] or rs[index] Chú ý: Nhớ Convert về kiểu chuỗi Example: varName=Convert.ToString(rs[“Name”]) 5/10/2013 23 5/10/2013 24 6
- 5/10/2013 Từng bước kết nối trong ADO.Net Từng bước kết nối ADO.Net OleDbConnection con; OleDbCommand cmd; Để sử dụng DataReader cần phải thực hiện OleDbDataReader rs; các bước sau: String strSQL,strCon; Tạo và mở kết nối CSDL Connection strCon=“Information connect to Database”; Tạo đối tượng Command strSQL=“SQL statement”; TạoDataReader từ đối tượng Command con=new OleDbConnection(strCon); Gọi phương thức ExecuteReader con.Open(); Sử dụng đối tượng DataReader cmd=new OleDbCommand(strSQL); cmd.Connection=con; Đóng đối tượng DataReader rs=cmd.ExecuteReader();// if strSQL is Select statement Đóng đối tượng Connection 5/10/2013 25 5/10/2013 26 Từng bước kết nối trong ADO.Net Example Database chứa 1 table: tblCustomer(CustomerID,Name) Sử dụng DataReader để chứa dữ liệu truy xuất được Viết kết nối vào database và thực các công việc sau: while(rs.Read()) 1) Hiển thị danh sách Customers ở dạng bảng sau: { Danh Sach Khach Hang //varName=rs[“FieldName”]; Mã khách hàng Họ tên //process varName according to application KH098 Phan Hoai An } 2) Thêm 1 customer 3) Sửa đổi thông tin 1 customer 4) Xóa 1 customer 5/10/2013 27 5/10/2013 28 7
- 5/10/2013 Answer 1) Answer 2) protected void Page_Load(object sender, EventArgs e) string strconn = "server=H52PC14;"; { strconn += "database=Northwind;uid=sa;pwd=;"; string strconn = "server=H52PC14;"; strconn += "database=Northwind;uid=sa;pwd=;"; SqlConnection conn = new SqlConnection(strconn); //string sql ="select UserID,UserName from Users"; SqlConnection conn=new SqlConnection(strconn); string sql="SELECT EmployeeID,FirstName FROM Employees"; string sql="Insert into Users(UserName,UserID,Pass) values SqlCommand cmd=new SqlCommand(sql,conn); ('miny','002','dfgg')"; conn.Open(); //sql = sql + UserName + "'" + "," + "'" + UserID + "')"; SqlDataReader dr; SqlCommand cmd = new SqlCommand(sql, conn); dr=cmd.ExecuteReader(); conn.Open(); SqlDataReader dr; while(dr.Read()) dr = cmd.ExecuteReader(); { while (dr.Read()) string text=dr["FirstName"].ToString(); { string value=dr["EmployeeID"].ToString(); ListBox1.Items.Add(dr[0].ToString()); drCategory.Items.Add(new ListItem(text,value)); } 5/10/2013 29 5/10/2013 30 Answer 3) Delete record protected void Page_Load(object sender, EventArgs e) { string strconn = "server=H52PC14;"; strconn += "database=Northwind;uid=sa;pwd=;"; Answer 4) SqlConnection conn = new SqlConnection(strconn); 5/10/2013 31 5/10/2013 32 8
- 5/10/2013 Các đối tượng trong ADO.Net DataTable •DataTable •DataView •DataSet •DataRowView •DataAdapter •DataColumn •DataRow •DataTable 5/10/2013 33 5/10/2013 34 DataTable DataTable •DataView Ví dụ về các thuộc tính của DataView •DataView int num; DataView dv=new DataView(); num=dv.Count; Thuộc tính của DataView dv.RowFilter=“Expression condition”; .Count : Trả về số records có trong the DataView dv.RowFilter=“FieldNameColumn>=10”; .RowFilter: Thiết lập hoặc trả về giá trị lọc theo 1 hàng bất dv.Sort=“List FieldName sort” ; //ASC, DESC kỳ sẽ hiển thị trên DataView. dv.Sort=“FieldName1,FieldName2 DESC”; .Sort: Sắp xếp thứ tự của 1 cột hay nhiều cột trong dv.Sort = "EMpID"; DataView. drView = dv.FindRows(EmpIDvalue); //drView is array 5/10/2013 35 5/10/2013 36 9
- 5/10/2013 DataTable DataTable •DataView DataView dv=new DataView() •DataRowView Method of DataView DataRowView drView=new DataRowView() FindRows: Trả về 1 mảng đối tượng DataRowView mà drView[i] or drView[“FieldNameColumn”] : giá trị trả về hàng đó sẽ tìm. String valueF; DataRowView[] drView; valueF=drView[“StudentID”]; dv.Sort=“FieldName”; Or drView=dv.FindRows(value) valueF=drView[0]; // Với value: FieldName 5/10/2013 37 5/10/2013 38 DataTable Đối tượng DataTable DataColumn: Trình bày lược đồ của một cột DataRow: trình bày một dòng dữ liệu trong trong một DataTable. Mỗi DataColumn có DataTable một thuộc tính DataType để xác định kiểu dữ liệu được lưu trữ trong DataColumn Khởi tạo: DataRow dr=new DataRow(); DataColumn objColumn=new DataColumn(“ColumnName”); dr[i] or dr[“FieldName”]: //return value DataTable dt=new DataTable(); Dt.Columns.Add(objColumn); 5/10/2013 39 5/10/2013 40 10
- 5/10/2013 DataTable Đối tượng DataTable •DataTable: Là đối tượng để biểu diễn thông tin trong Các thuộc tính- phương thức của DataTable Dataset. .Columns: trả về các cột trong Datatable DataColumn .Columns.Count: trả về số cột trong bảng DataRow .Columns.Add(DataColumn): Thêm cột vào bảng ColName1 ColName2 …. ColNameN .Rows :trả về các dòng, mỗi dòng là một đối Data11 Data12 … Data1N tượng datarow … … … … .Rows.Count :trả về số dòng trong bảng DataM1 DataM2 …. DataMN .Rows.Add(DataRow):thêm một dòng vào bảng 5/10/2013 41 5/10/2013 42 DataTable •DataTable DataTable DataTable dt=new DataTable(); •DataTable .Columns:Trả về tập hợp các columns có trong table DefaultView: 1 đối ượng DataView (Dạng hiển thị khác của Count DataTable) dt. dt.Columns DataTable dt=new DataTable(); Add(objColumn) Phương thức DataTable NewRow():Tạo 1 dòng mới DataRow .Rows: Trả về tập hợp các rows có trong table dt. DataRow dr; Count dt.Rows dr=dt.NewRow(); Add(objRow) 5/10/2013 43 5/10/2013 44 11
- 5/10/2013 DataSet DataSet DataSet bao gồm tập các đối tượng DataTable •DataSet mỗi DataTable điển hình tương đương với một DataSet ds; //Khai báo table hoặc là một view mà ta có thể thiết lập mối quan hệ giữa chúng thông qua đối tượng DataSet ds=new DataSet();//Khai báo và khởi tạo DataRelation. .Tables: trả về tất cả các Table chứa trong Dataset. Dữ liệu trong DataSet có thể nhất quán bằng ds.Tables[i] or ds.Tables[“tblName”] : Trả về đối cách sử dụng đối tượng UniqueConstraint và tượng Table thứ i hoặc Table có “tên tblName ForeignKeyConstraint Count ds.Tables Add(objTable) 5/10/2013 45 5/10/2013 46 DataSet Laydulieu(string sql) public DataSet DataAdapter •DataAdapter { The DataAdapter : Là đối tượng trung gian giữa 1 DataSet OleDbCommand cmd; cmd = new OleDbCommand(sql); và nguồn dữ liệu nhận được, dùng để lưu dữ liệu. OleDbDataAdapter da = new OleDbDataAdapter(sql,con); DataAdapter.Fill(ds) : Hiển thị data lên Dataset ds DataSet ds = new DataSet(); OleDbDataAdapter class. da.Fill(ds); OleDbDataAdapter da = new OleDbDataAdapter(cmd); return ds; } DataSet ds = new DataSet(); da.Fill(ds); (với cmd: OleDbCommand (Đã có)) 5/10/2013 47 5/10/2013 48 12
- 5/10/2013 Khai báo chuỗi kết nối trong file Example Web.Config: OleDbDataAdapter da; da=new OleDbDataAdapter(strSQL,con); DataSet ds=new DataSet(“tblA”); da.Fill(ds); DataTable dt; dt=ds.Tables[“tblA”]; //ds.Tables[0] varName1= Convert.ToString(dr[“StudentID”]); varName2= Convert.ToString(dr[“Name”]); //process varName1, varName2 Database được lưu trong thư mục gốc trong Visual Studio.Net: } C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\HOADON.mdb 5/10/2013 49 5/10/2013 50 Truy xuất chuỗi kết nối tại trang bất kỳ string strcon; strcon=ConfigurationManager.AppSettings["ConnectionString"]; con= new OleDbConnection(strcon); con.ConnectionString=strcon; con.Open(); 5/10/2013 51 13
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Quản trị dự án phần mềm - Bài 5: Giai đoạn thiết kế
14 p | 188 | 33
-
Bài giảng học phần Thiết kế lập trình Web: Chương 4 - GV. Trần Minh Hùng
21 p | 137 | 31
-
Bài giảng học phần Thiết kế lập trình Web: Chương 1 - GV. Trần Minh Hùng
18 p | 175 | 30
-
Bài giảng Học phần Thiết kế lập trình web: Chương 2 - GV. Trần Minh Hùng
14 p | 143 | 22
-
Bài giảng học phần Thiết kế lập trình Web: Chương 4.3 - GV. Trần Minh Hùng
17 p | 126 | 22
-
Bài giảng học phần Thiết kế lập trình Web: Chương 3 - GV. Trần Minh Hùng
19 p | 146 | 21
-
Bài giảng học phần Thiết kế lập trình Web: Chương 4.2 - GV. Trần Minh Hùng
17 p | 121 | 20
-
Bài giảng Chương 8: Thiết kế lấy người dùng làm trung tâm
109 p | 172 | 17
-
Bài giảng Web và thiết kế Web ứng dụng trong dạy học - ThS. Lê Thế Vinh
20 p | 145 | 13
-
Bài giảng Ứng dụng tin học trong thiết kế - Chương 1: Cơ bản về thiết kế và phát triển sản phẩm
52 p | 62 | 11
-
Bài giảng Ứng dụng tin học trong thiết kế - Chương 4: Drawing
16 p | 60 | 8
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 5 - TS. Nguyễn Văn Hiệp
68 p | 63 | 7
-
Bài giảng Công cụ thiết kế đồ họa: Chương 4 - Nguyễn Thị Mỹ Dung
12 p | 41 | 7
-
Bài giảng học phần Tin học đại cương: Chương 6 - Học viện Nông nghiệp Việt Nam
14 p | 34 | 6
-
Bài giảng Các mẫu thiết kế hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp
46 p | 71 | 5
-
Bài giảng Chương 8: Thiết kế lớp và phương thức
51 p | 43 | 4
-
Bài giảng Chương 7: Thiết kế phổ dụng
122 p | 56 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn