Các đối tượng cơ bản của ADO.Net

Chia sẻ: NGO NAM | Ngày: | Loại File: PDF | Số trang:26

0
195
lượt xem
95
download

Các đối tượng cơ bản của ADO.Net

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ
Lưu

Nội dung Text: Các đối tượng cơ bản của ADO.Net

  1. I.Các i tư ng cơ b n c a ADO.Net Không c n quá dài dòng . i tư ng này th c ch t là các thư vi n (lib) dư i d ng tích h p s n ho c là các file dll c a Visual Studio. Nó ư c thi t k tăng t c truy c p và thao tác trên d li u trong môi trư ng a l p. Có th tác ng n các ki u cơ s d li u như SQL , Access,Oracle ... v v. V n nó tăng t c th nào thì ta ... kóc quan tâm . Ch y u , ta s i h c cách s d ng các i tư ng con trong nó thao tác v i cơ s d li u mà thôi. Th nào là cơ s d li u ? th nào là i tư ng ? Dot net là gì ? Visual Basic.Net ? ... v v là nh ng câu h i không ư c tr l i trong m c này .Vì khi ng n ph n này , yêu c u các b n newbie ã ph i n m ư c các khái ni m trên.Có th tham kh o sơ lư c v Dot net và v khái ni m l p trình hư ng i tư ng t i ây: http://hvktqs.com/forum/showthread.php?tid=46 .Còn v cơ s d li u và c bi t là SQL thì h n g p l i chuyên m c khác... Nh ng thành ph n s nghiên c u trong bài vi t này: + i tư ng SqlConnection + i tư ng SqlDataAdapter + i tư ng b ng d li u và b ng view d li u +Mô hình hi n th t ng quát 1.K t n i t Visual Basic.Net vào Cơ S D Li u c a SQL: Trư c tiên h t , trư c khi mu n làm i u gì ó v i cơ s d li u c a b n , i u quan tr ng là ph i k t n i ư c vào cơ s d li u ó. SqlServer sau khi cài t ,nó t o cho ngư i s d ng m t server (máy ch ) , thông thư ng là t i chính máy c a ngư i s d ng .T i server này , ngư i s d ng có th t o ra các kho thông tin d li u (database) c a mình mà qu n lý. Vì sao c ph i t o ng d ng tác ng n csdl làm gì ? Ngư i s d ng ph n m m hok có bít cách vào Sqlserver và gõ các câu l nh tác ng n csdl như chúng ta . H ch bi t kích chu t , nhìn , kích chu t ti p , nh n ư c k t qu ... h t !Vì v y ta ph i t o m t ng d ng h có th s d ng m t cách tr c quan nh t . Ta b t u i vào i tư ng u tiên : i tư ng SqlConnection
  2. i tư ng SqlConnection ch a trong nó 2 cái r t quan tr ng là thu c tính: +ConnectionString là thu c tính tr v giá tr là m t chu i kí t .Chu i này có nhi m v d n ư ng n cơ s d li u mà ta mu n tác ng n.Chu i ư ng d n này có d ng như sau : "server=Tên_server;database=Tên_Database;Ki u_K t_N i" . Trong ó Ki u k t n i có th là : -- integrated security =SSPI => k t n i y quy n windows -- acc=tên_user;pwd=chu i_password => k t n i có account Ví d t truy c p vào server nhà t , có tên là KHANH\KHANH , c n truy c p vào cơ s d li u quanlynhansu và ki u k t n i là u quy n windows thì t s vi t như sau : "server=KHANH\KHANH;database= quanlynhansu;integrated security =SSPI" ương nhiên khi khai báo thì ph i mô t rõ i tư ng. u tiên ta khai báo m t bi n mang tên bienketnoi thu c v i tư ng ConnectionString có th s d ng thu c tính k t n i c a nó : Dim bienketnoi as new ConnectionString() R i m i s d ng thu c tính: bienketnoi.ConnectionString="server=KHANH\KHANH;database= quanlynhansu;integrated security =SSPI" +Phương th c Open(): OK r i , sau khi ã có ư ng d n k t n i n cơ s d li u , ta g i phương th c Open() c a i tư ng k t n i m ư ng k t n i theo ư ng ã khai báo : bienketnoi.Open() Nhưng ch c ch n s k t n i thành công , ta m t b y l i Try Catch như sau : Mã PHP: Dim bienketnoi as new ConnectionString() Try bienketnoi.ConnectionString = "server=KHANH\KHANH;database=d etai;integrated security=SSPI" bienketnoi.Open() MsgBox("connected!") Catch ex As Exception MsgBox(ex.ToString) End Try 2. i tư ng SqlDataAdapter:
  3. i tư ng này có th hi u là b chuy n i d li u t inh d ng c a SQL sang d ng d li u c a Visual Studio , có th hi n th d li u trên Visual Studio. có th l y d li u t SQL , nó c n m t ư ng d n d n n cơ s d li u c n chuy n i ( ương nhiên , kô bi t chuy n âu thì làm sao chuy n ? ) và m t d ng l nh SQL có th chuy n i d li u theo yêu c u nh t nh: Dim da as new SqlDataAdapter(“chu il nh”,bi n_KN.ConnectionString) Ví d , c n l y t t c d li u t b ng tblA chuy n sang d li u c a VS v i i u ki n b ng A n m server KHANH\KHANH , trong cơ s d li u quanlynhansu , ta khai báo b chuy n i như sau : Dim da as new SqlDataAdapter(“select * from tblA”,bienketnoi.ConnectionString) v i bi n k t n i bienketnoi l y t ví d trư c. Sau khi ã có ư c kh i d li u lưu tr trong da .Mu n em ra hi n th , ta c n d li u ra m t cái kho chuyên lưu tr d li u d ng b ng c a VS ã cho s n mang tên DataTable.Trư c khi s d ng DataTable , ta hãy khai báo nó Dim tb as new DataTable d li u vào tb , ta dùng phương th c Fill c a da: da.Fill(tb) Và cu i cùng .Trư c khi hi n th , ta hãy tìm hi u i tư ng DataGrid c a VisualStudio. Ch n i tư ng này t b ng Toolboxs , kéo th vào trong Form ( n u chưa có thì ta ph i add t Choose ToolBox Items). i tư ng này có thu c tính DataSource , chuyên dùng nh n l y d li u t DataTable ho c DataSet( cái này s bàn n ph n sau).Ngoài ra còn có i tư ng DataGridView , cho phép hi n th b ng d li u và add các mini tools box bên trong nó .Cu i cùng là i tư ng ListView , cho phép hi n th d li u dư i d ng list li t kê. Sau khi th i tư ng DataGrid vào , t tên là DataGrid1 , ta vi t ti p :
  4. DataGrid1.DataSource = tb; ương nhiên sau khi có d li u trong DataSource , n i dung s output ra ngoài c a DataGrid1. Sau ây là m t ví d : Mã PHP: Dim da As New SqlDataAdapter("select * from dssv", Form1.bienketnoi) Dim tb As New DataTable da.Fill(tb) DataGrid1.DataSource = tb K t qu hi n th khi th c thi: Như v y ,ta có m t mô hình hi n th t ng quát là : ph n t i , ta s bàn n i tư ng SqlCommand , v i cách th c thi sâu s c hơn cho i tư ng SqlDataAdapter . 3.SqlCommand +Vì sao ph i dùng SqlCommand? Ta có th truy n câu l nh thông qua SqlDataAdapter cơ mà ? H h , úng là th ... Nhưng n u câu l nh c n tùy bi n thì seo , t c là câu l nh c n truy n là d ng có tham s u vào... ta s ph i làm th nào gi . Do ó c n ph i có i tư ng riêng x lý cho tình hu ng i lo i như th !
  5. SqlCommand là i tư ng như th nào ? Hình nh phát nh ây , nó có 3 thu c tính cơ b n là : Connection : dùng ch rõ l nh này s tác ng n cơ s d li u nào , âu CommandText : tr v chu i câu l nh mà ta c n vi t CommandType : tr v d ng câu l nh mà ta vi t CommandText, n u d ng câu l nh CommandText là d ng l nh thông thư ng thì s tr v CommandType.Text, n u d ng lênh CommandText là d ng th t c thì s tr v CommandType.StoredProcedure Ví d : mu n nh nghĩa m t l nh c toàn b các dòng t m t b ng, v n dùng bi n k t n i như ph n 2. Ta có th vi t: Mã PHP: Dim sc As New SqlCommand() sc.Connection = bienketnoi sc.CommandText = "select * from tblA" sc.CommandType = CommandType.Text D ch nghĩa : ta có m t i tư ng sc là m t i tư ng l nh , s th c thi l nh ư c d n ư ng b i bienketnoi, n i dung câu l nh là select * from tblA và d ng c a câu l nh này là d ng Text Ti p theo , ta l i vi t m t store procedure hienthitblA v i n i dung là select * from tblA. và lúc g i th t c này b ng SqlCommand thì có th vi t là :
  6. Mã PHP: Dim sc As New SqlCommand() sc.Connection = bienketnoi sc.CommandText = "hienthitblA" sc.CommandType = CommandType.StoredProcedure D ch nghĩa : ta có m t i tư ng sc là m t i tư ng l nh , s th c thi l nh ư c d n ư ng b i bienketnoi, n i dung câu l nh là hienthitblA và d ng c a câu l nh này là d ng StoredProcedure Ok r i, m t cách ng n g n hơn , phương th c kh i t o c a SqlCommand s cho phép ta vi t g n gàng hơn: Dim sc as new SqlCommand("Chu i_câu_l nh",Bi n_k t_n i) sc.CommandType=CommandType.ki u_câu_l nh Theo ó, v i 1 trong 2 ví d trên , ta có th vi t: Mã PHP: Dim sc as new SqlCommand("hienthitblA",bienketnoi) sc.CommandType = CommandType.StoredProcedure N u l nh th c thi v i m c ích hi n th : Ta s s d ng SqlCommand truy n vào cho SqlDataAdapter, lí do truy n tương thích vì b n thân SqlCommand ã bao hàm bienketnoi và câu l nh r i, nên hoàn toàn truy n cho SqlDataAdapter ư c... Mã PHP: Dim sc as new SqlCommand("hienthitblA",bienketnoi) sc.CommandType = CommandType.StoredProcedure Dim da As New SqlDataAdapter(sc) Dim tb As New DataTable da.Fill(tb) DataGrid1.DataSource = tb Khi th t c có tham s : Lúc này ta dùng n l p i tư ng con Parameters (tham s ) c a SqlCommand , nó có ch a phương th c AddWithValues ưa n i dung vào cho tham s c a th t c. Ví d ta có 1 store procedure th này: Mã PHP: create procedure insert_tblA @bien1 as nvarchar(50), @bien2 as integer as insert into tblA (cot1,cot2) values (@bien1,@bien2)
  7. Và gi s ti p 2 tham s l y t 2 textbox.V y thì ta s s d ng i tư ng sc như sau Mã PHP: Dim sc as new SqlCommand("insert_tblA",bienketnoi) sc.CommandType = CommandType.StoredProcedure sc.Parameters.AddWithValue("@bien1", textbox1.text) sc.Parameters.AddWithValue("@bien2", Integer.Parse(textbox2.text)) sc.ExecuteNonQuery() Lí do ph i i textbox2.text sang d ng integer vì ki u c a bien2 là ki u integer.Còn phương th c ExcuteNonQuery() th c hi n câu l nh sc mà không c n ưa ra hi n th nào... Lí do vì ây là th t c insert_tblA ư c th c hi n, ch v i m c ích chèn vào b ng tblA, nên không c n dùng n da ưa hi n th ra ngoài. Như v y , t ng quát c a AddWithValue là: sc.Parameters.AddWithValue("@tên_bi n", giá tr tương ng) l n này , ta s bàn n nh ng chiêu th c cơ b n c a l p trình CSDL: +Update (C p nh t) +Insert (Thêm) +Delete (Xóa) +Search (Tìm ki m) +Enumeration (Th ng kê) Và bàn n kĩ thu t i u khi n DataGridView thông qua b t s ki n: +Nh p chu t vào DataGridView l y thông tin +Ch nh s a tr c ti p d li u trên DataGridView và t ng c p nh t l i csdl I.Update,Insert,Delete,Search,Enumerati on 1.Ôn t p ôi chút v Command SQL Ta l n lư t tr i nhanh qua vài bư c như sau: M t s ghi chú: SEM = SQL Sever EnterpriseManager SQA = SQL Query Analyzer Bư c 1: Câu l nh create Create table tên_b ng (tên_c t_1 ki u_c t_1,…,tên_c t_n ki u_c t_n)
  8. Câu l nh cho phép t o m t b ng n m trong m t CSDL tương ng.Sau ó các b n quay l i SEM xem và nh p các d li u vào các c t. ch n vào CSDL mà b n vưà t o (1) r i ch n n ô ch a các b ng (2) r i kích ti p chu t ph i vào b ng v a t o (3) r i ch n n Return all rows (4) T i ây b n nh p các d li u như làm v i Microsoft Excel v y ! Câu l nh select: Quay tr l i SQA th c hi n ti p m t s câu l nh sau…
  9. 1. Select * from tên_b ng : Hi n th t t c các c t trong b ng 2. Select tên_c t_1,…,tên_c t_n from tên_b ng: Hi n th m t s c t nào ó trong b ng 3.select tên_c t_1,…,tên_c t_n from tên_b ng where i u_ki n_logic :Hi n th các c t ph thu c theo i u ki n logic ã ch n trư c.
  10. i u ki n logic n u là ch thì b n ph i thêm d u ’’ vào hai u c a ch c n so sánh trong i u ki n logic Bư c 2:Các câu l nh quan tr ng trong SQL Câu l nh insert Mã PHP: insert into tên_b ng ho c insert into tên_b ng (c t_1,…,c t_n) (c t_1,…,c t_n) values valu es (@bi n_1,…,@bi n_n) (giá_tr _1,…,giá_tr _n) Câu l nh cho phép i n thêm giá tr vào b ng, giá tr có th là bi n ( kí hi u i v i SQL là @tên_bi n ) ho c có th là giá tr c th , nhưng c n chú ý là các giá tr ư c i n vào ph i phù h p v i ki u d li u c a c t. Ví d như c t stt có ki u integer thì ta không th i n ch ‘a’ vào ó ư c…
  11. V i ki u dùng th 1 ta c n ph i truy n các giá tr vào thông qua các bi n. ây t c tình khai báo tên các bi n khác h n v i tên các c t các b n th y tên bi n có th t b t kì , không c ph i trùng v i tên c t… Câu l nh delete Delete from tên_b ng Where i u_ki n_logic Câu l nh cho phép xoá m t dòng ho c m t s dòng nào ó trong b ng mà nh ng dòng này tho mãn i u_ki n_logic . Còn n u không có câu l nh where thì nghĩa là dòng nào cũng tho mãn … => xoá h t các dòng , ch trơ l i m i tên c t !Theo dõi b ng trư c và sau khi xoá:
  12. i u ki n logic trong câu l nh trên là soID>=23 , nghĩa là c dòng nào tho mãn có c t soID>=23 thì dòng ó b xoá. Câu l nh Update Update tên_b ng Set tên_c t_1=giá_tr _1,…,tên_c t_n=giá_tr _n Where i u_ki n_logic Câu l nh cho phép c p nh t d li u c a 1 hay nhi u dòng trên 1 hay nhi u c t t i nơi có i u ki n logic x y ra.Theo dõi trư c và sau khi Update: T i nơi có soID=9 thì d li u hodem và ten tương ng t i ó ươc thay i thành ‘eee’ Bư c 3: Xây d ng th t c Th t c store procedure Create procedure tên_th _t c @bi n_1 ki u_d _li u , …, @bi n_n ki u_d _li u
  13. M t th t c có th có bi n truy n vào ho c không có bi n truy n vào . Ví d xây d ng m t th t c không có tham s truy n : Ví d khác v th t c có tham s truy n: th t c này , các giá tr 5,’ggg’,’ggg’,20 l n lư t ư c truy n vào cho @stt,@hodem,@ten,@soID khi g i exec tên_th _t c Như v y cách th c hi n g i th t c là : Exec tên_th _t c giá_tr _1,…,giá_tr _n V i giá_tr _1,…,giá_tr _n s ư c l n lư t truy n cho @bi n_1,…,@bi n_n 2.T p làm quen v i thêm s a xóa ơn gi n v i i u khi n datagridview V y , thông qua ph n trên , ta có th th y vi c thêm s a xóa khá ơn gi n, ch là t o m t s th t c , v i các bi n truy n vào là bi n mu n tác ng,thay i thêm b t mà thôi, r i sau ó g i các i tư ng cơ b n c a ADO.NET ra khai thác th t c. Vi c thêm vào khá ơn gi n, như ph n gi i thi u v i tư ng SqlCommand ã ưa ra ví d . Còn vi c s a và xóa, t xin ư c gi i thi u m t kĩ thu t i u khi n datagridview m t cách t biên t di n...
  14. a. i u khi n DataGridView M c tiêu c a vi c i u khi n nh m th c hi n thao tác : ưa chu t lên dòng c n xóa, s a trên Datagridview, nh n nút xóa ho c ch n giá tr c n s a ã ư c hi n th ra sau khi nh n nút c p nh t thì cơ s d li u trong Sql cũng ư c c p nh t l i thông tin làm như th , trư c h t ta c n ph i b t ư c dòng v a click vào datagridview b ng m t bi n donghientai ki u integer : donghientai = DataGridView1.CurrentRow.Index r i trích ch n giá tr c a Datagridview t i m t ô i nào ó b ng cách : dim s as string = DataGridView1.Rows(donghientai).Cells(i).Value.ToString() b.M t ví d v thêm s a xóa l i d ng i u khi n DataGridView Thông qua vi c i u khi n DataGridView nêu trên , ta ã có th mư ng tư ng ra vi c s a (update) ho c xóa(delete) cho m t dòng trên b ng d li u Gi s ta có b ng d li u bang1, g m 2 c t : cot1 ki u int, cot2 ki u nvarchar(50) .Ta xây d ng các th t c store procedure cho nó: Th t c insert_bang1: Th t c này ch c không có gì bàn, nó gi ng như ph n ví d v i tư ng SqlCommand ã nêu Mã PHP: create proc insert_bang1 @bien1 int, @bien2 nvarchar(50) as insert into bang1 (cot1,cot2) values (@bien1,@bien2) Th t c update_bang1 : Th t c này ư c truy n thêm bi n @gtcot nh m tìm n giá tr c a c t 1 trư c ó mà trư c khi nó b thay i. Vi c có thêm bi n này do c trưng c a câu l nh. Vì gi s c 2 c t cùng b thay i thì ta bi t d a vào âu mà tìm n dòng c a nó mà thay giá tr m i. Nên c n bi n này nh giá tr trư c khi bi thay i... Mã PHP: create proc update_bang1 @gtcot int, @cot1 int, @cot2 nvarchar(50) as update bang1 set cot1=@cot1, cot2=@cot2
  15. where cot1=@gtcot Th t c delete_bang1: Ta c n m t bi n d n ư ng n v trí c n xóa dòng Mã PHP: create proc delete_bang1 @bien int as delete from bang1 where bang1.cot1=@bien v i ki u giao di n như trên , ta có th code cho s ki n cell_click c a datagridview là: Mã PHP: Dim donghientai, bienxoa, bienupdate As Integer Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVa l e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGrid View1.CellClick donghientai = DataGridView1.CurrentRow.Index bienxoa = Integer.Parse(DataGridView1.Rows(donghientai).Cells(0 ).Value.ToString()) bienupdate = bienxoa TextBox1.Text = bienxoa.ToString() TextBox2.Text = DataGridView1.Rows(donghientai).Cells(1).Value. ToString() Textbox1,2 là textbox trong group c a nút s a s hi n th n i dung c a dòng ư c click End Sub vào trên datagridview, cho phép ta s a n i dung trên các textbox này
  16. Nút s a : +b t l y giá tr trư c khi b s a c a c t 1 và lưu l i +g i th t c s a cho c 2 c t v i giá tr t textbox 1,2 t i v trí giá tr v a lưu Mã PHP: Dim sc As New SqlCommand("update_bang1", bkn) sc.CommandType = CommandType.StoredProcedure sc.Parameters.AddWithValue("@gtcot", bienupdate) sc.Parameters.AddWithValue("@cot1", Integer.Parse(TextBox1.Text )) sc.Parameters.AddWithValue("@cot2", TextBox2.Text) sc.ExecuteNonQuery() Nút xóa: +b t l y giá tr c a c t 1 dòng b xóa và lưu l i +g i th t c xóa cho dòng t i giá tr v a lưu Mã PHP: Dim sc As New SqlCommand("delete_bang1", bkn) sc.CommandType = CommandType.StoredProcedure sc.Parameters.AddWithValue("@bien", bienxoa) sc.ExecuteNonQuery() Nút Insert: +G i form m i,g m 2 textbox nh p giá tr m i +Có i u khi n d li u cho textbox 1 luôn nh p vào v i giá tr s +G i th t c insert v i 2 giá tr ghi trên textbox này +Code: Kh i nói... Th t c hi n th : + linh ho t ta s xây d ng cho nó truy n vào 1 datagridview và 1 bi n k t n i +Datagridview thì c n truy n ki u ByRef vì s thay i tham chi u n datagridview mà ta mu n hi n th +Bi n k t n i thì ch c n truy n ByVal l y giá tr tham tr truy n vào Mã PHP: Public Sub hienthi(ByRef datagr As DataGridView, ByVal bien As SqlConne ction) Dim da As New SqlDataAdapter("select * from bang1", bien) Dim tb As New DataTable() da.Fill(tb) datagr.DataSource = tb End Sub Mô hình 3 l p d ng ơn gi n làm cho vi c l p trình cơ s d li u ư c nhanh chóng và công nghi p, kèm theo tính chuyên nghi p c a l p trình... Mô hình 3 l p ra i ph c v cho m c ích này! Trư c khi bư c vào ph n này, các b n hãy c kĩ l i các ph n trang trư c n m b t c th các i tư ng cơ b n c a ADO.NET Ok, r i, gi ta b t u v i mô hình 3 l p:
  17. Rõ ràng r ng , n u ta mô t ư c t ng data, ta có th i mô t các t ng còn l i r t nhanh và g n gàng vì t ng data ã giúp ta th c hi n ph n l n công vi c. có th i mô t chung nh t có th cho các thao tác tác ng n cơ s d li u, ta c n i vào b n ch t c a các câu l nh tương tác n cơ s d li u. Các câu l nh csdl chia ra làm 2 ph n: truy v n và không truy v n. + Truy v n : các câu l nh tương tác n cơ s d li u và l y d li u, ưa ra dư i d ng hi n th b ng. Ví d như câu l nh g i b ng, tìm ki m, th ng kê ... u b t u v i câu select... + Không truy v n : các câu l nh tương tác n cơ s d li u , nhưng không l y d li u v . Ví d như các l nh thêm s a xóa... M t cách dân dã, ta nói : có hai ki u câu l nh , hi n th và kô hi n th , và v i m i d ng này, ta l i có nhi u cách th hi n nó: b ng th t c hay câu l nh tr c ti p. Th hi n nó m t cách rõ nét qua m i trư ng h p như sau :
  18. Ok r i, ta b t u i mô t t ng data v i hình nh mô t trên . Các bư c : + T o m t project m i, t tên nó là vidu3lop , OK + Ch n File->Add->New project...->ch n Class Library , t tên là datalayer, OK + L i làm như bư c trên, nhưng l n này t tên là businesslayer , OK + i tên Class1.vb trong datalayer thành data.vb + i tên Class1.vb trong businesslayer thành clsvidu3lop N u th c hi n úng các bư c như trên, thì b ng Solution Explorer s gi ng th này
  19. Gi ta s vi t trong file data.vb như sau : +M t bi n k t n i n cơ s d li u +3 phương th c truy v n (d ng th t c và text) và 1 phương th c kô truy v n ( d ng g i th t c có tham s ) Khai báo các thư vi n Mã PHP: Imports System.Data.SqlClient Imports System.Data B t u class, khai báo bi n k t n i Mã PHP: Public Class Data Dim bkn As New SqlConnection("server=KHANH- PC\KFFCNTT;database=baitap;user=khanh;password=kff") Hi n th b ng text Mã PHP: Public Function hienthitext(ByVal s As String) As DataTable bkn.Open() Dim da As New SqlDataAdapter(s, bkn) Dim dt As New DataTable da.Fill(dt) bkn.Close() Return dt End Function Hi n th b ng th t c không truy n tham s cho th t c này Mã PHP:
  20. Public Function hienthithutuckothamso(ByVal s As String) As DataTable bkn.Open() Dim sc As New SqlCommand(s, bkn) sc.CommandType = CommandType.StoredProcedure Dim da As New SqlDataAdapter(sc) Dim dt As New DataTable da.Fill(dt) bkn.Close() Return dt End Function Hi n th b ng th t c và có truy n tham s cho nó Mã PHP: Public Function hienthithutuccotham(ByVal s As String, ByVal sp() As Sq lParameter) As DataTable bkn.Open() Dim sc As New SqlCommand(s, bkn) sc.CommandType = CommandType.StoredProcedure Dim p As SqlParameter For Each p In sp sc.Parameters.Add(p) Next Dim da As New SqlDataAdapter(sc) Dim dt As New DataTable() da.Fill(dt) bkn.Close() Return dt End Function Th t c ư c g i không nh m hi n th (không truy v n) Mã PHP: Public Sub thutuccotham(ByVal s As String, ByVal sp() As SqlParameter) bkn.Open() Dim sc As New SqlCommand(s, bkn) sc.CommandType = CommandType.StoredProcedure Dim p As SqlParameter For Each p In sp sc.Parameters.Add(p) Next sc.ExecuteNonQuery() bkn.Close() End Sub End Class Ok ti p t c v i bài hôm trư c, gi t b t u lí gi i các phương th c ã vi t trong t ng datalayer: 3 Phương th c hi n th : M c ích c a 3 phương th c này là tr v m t b ng , sau ó b ng này em hi n th cho user. Do ó , u tr v 1 datatable. i m khác nhau c a 3 phương th c này: +Hi n th text : t c là dùng câu l nh tr c ti p hi n th , do ó ch c n 1 i tư ng SqlDataAdapter chuy n d li u thành d ng b ng

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản