25
VB.Net và Access Database gửi bởi anhtuyenbk » Thứ 6 07/11/2008 9:52 pm Tên bài viết: VB.Net và Access Tác giả: Nguyễn Anh Tuyên Cấp độ bài viết: Beginner Tóm tắt: Thao tác giữa VB.Net và Access Database VB.Net và Access Database Trong những ngày gần đây, diễn đàn nhiều người hỏi về các vấn đề liên quan đến chủ đề này, mặc dù trong diễn đàn đã tồn tại câu trả lời!!!!!!!!!!!!!! Do đó, mình viết ra Topic này để mọi người ko đặt những câu hỏi như thế nữa và nhưng câu hỏi tương tự như thế này sẽ bị xóa ngay lập tức. 1. Tìm hiểu về khái niệm ADO.Net Trong Net (VB.Net và C#) chỉ tồn tại khái niệm ADO.Net chứ ko tồn tại khái niệm cũ ADO (của VB6.) Các bạn có thể thấy được ADO.Net Model qua hình dưới đây. Có thể diễn đạt theo thứ tự là Database--> Conection--> Command--> DataAdapter--> Datatable hay Dataset và các bạn làm việc theo thứ tự này.

VB va acces

  • Upload
    tuan-bn

  • View
    189

  • Download
    4

Embed Size (px)

Citation preview

Page 1: VB va acces

VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 6 07/11/2008 9:52 pm

Tên bài viết: VB.Net và AccessTác giả: Nguyễn Anh TuyênCấp độ bài viết: BeginnerTóm tắt: Thao tác giữa VB.Net và Access Database

VB.Net và Access Database

Trong những ngày gần đây, diễn đàn nhiều người hỏi về các vấn đề liên quan đến chủ đề này, mặc dù trong diễn đàn đã tồn tại câu trả lời!!!!!!!!!!!!!!Do đó, mình viết ra Topic này để mọi người ko đặt những câu hỏi như thế nữa và nhưng câu hỏi tương tự như thế này sẽ bị xóa ngay lập tức.

1. Tìm hiểu về khái niệm ADO.NetTrong Net (VB.Net và C#) chỉ tồn tại khái niệm ADO.Net chứ ko tồn tại khái niệm cũ ADO (của VB6.)Các bạn có thể thấy được ADO.Net Model qua hình dưới đây. Có thể diễn đạt theo thứ tự làDatabase--> Conection--> Command--> DataAdapter--> Datatable hay Dataset và các bạn làm việc theo thứ tự này.

Page 2: VB va acces

2. Namespace cần thiết để thao tác với AccessĐể thao tác với Access ta chỉ cần Imports các namespace sau đâyMã: Chọn tất cả

1. Imports System.Data2. Imports System.Data.OleDb 'sử dụng với access3.  

3. Connect với DatabaseMuốn thao tác với Database dĩ nhiên bước đầu tiên là phải tạo Connect cho nó.Ta tạo như sau:- Connect có tầm vực cục bộ trong Form cần khai báoVí dụ file cần kết nối là SolieuTest.mdb được đặt trong thư mục Debug và có Password là 123456.Mã: Chọn tất cả

1. Public Class Form12.     Dim con As OleDbConnection ' Cục bộ trong Form3.     Private Sub Form1_Load(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

4.         Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" _

5.                 & "Data Source = " & Application.StartupPath & "\SolieuTest.mdb;" _

6.                 & "Jet OLEDB:Database Password = 123456"

7.         con = New OleDbConnection(str)8.         con.Open()9.     End Sub10. ...................................11.  

Đánh giá chủ đề: Thanks anhtuyenbk for your sharing!

If anything you can't solve, i will solve it

anhtuyenbk Guru

Page 3: VB va acces

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi tiger86love102 » Thứ 6 07/11/2008 9:59 pm

tiger người hỏi nhiều nhất về vấn đề này xin làm người đầu tiên đọc Topic này của anh Tuyên Thank anh Tuyên nhiều nha

{*._.* vô ưu tư vô sầu vô phiền não *._.*}

tiger86love102 Thành viên tâm huyết

 Bài viết: 418Ngày tham gia: Chủ nhật 19/10/2008 1:10 amĐến từ: http://caulacbovb.com

Tài khoản Yahoo

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 6 07/11/2008 10:26 pm

4. Command ( Lệnh ): - Để cho chương trình biết ta cần làm những gì đối với Database như select. Insert.................- Ví dụ đây là command dùng để Select hết tất cả dữ liệu trong bảng ra.Mã: Chọn tất cả

1. Dim command As New OleDbCommand()2.         command.Connection = con ' Kết nối3.         command.CommandType = CommandType.Text  'Loại

lệnh sử dụng là Text hay là một query trong access4.         command.CommandText = "Select * From

DanhsachSV" 'Lệnh cần làm với Database

Page 4: VB va acces

5.  

- Để sử dụng commnand được tốt các bạn cần phải nắm vững ngôn ngữ SQL (trong Box ebook có nhiều sách về SQL)- Nạp tham số cho command --> Very very Important. Ví dụMã: Chọn tất cả

1. command.CommandText = "Select * From DanhsachSV Where Name = @Name"

Ở đây ta có @Name là tham số mà ta cần phải điền giá trị cho nó, ta gán giá trị như sauMã: Chọn tất cả

1. commandInsert.Parameters.Add("@Name", OleDbType.VarChar).Value = txtName.Text

Vậy là ta đã gán giá trị từ Textbox txtName vào tham số @Name rồi đóSửa lần cuối bởi anhtuyenbk vào ngày Thứ 7 08/11/2008 4:52 pm với 1 lần sửa trong tổng số. If anything you can't solve, i will solve it

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi HaiPT » Thứ 7 08/11/2008 11:01 am

Hì ! sau đợt viết tút hàng loạt thế này thì tớ chuẩn bị ngả nón chào Tuyên thôi! bái phụcĐặc trưng bài viết của Tuyên là trình bày rất công phu, và rất logic VBLUB bây giờ đã mang đậm dấu ấn của Tuyên rồi , chúc mừngPhạm HảiMicosoft Technical ExpertFPT Software CoporationHaiPT

Page 5: VB va acces

VIP

 Bài viết: 154Ngày tham gia: Thứ 4 07/09/2005 4:02 pmĐến từ: Hải Phòng

Website

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 7 08/11/2008 4:52 pm

5. DataAdapter và Dataset, DataTable- Chúng ta đã có Connect và commnand rồi, giờ chúng ta cần có một cái máy sử dụng những cái trên để thực thi lệnh mà ta đưa ra --> Đó chính là DataAdapter.- Khai báo một DataAdapter chỉ đơn giản thế nàyMã: Chọn tất cả

1. Dim adapter As New OleDbDataAdapter()

Ngoài ra còn các hình thức khởi tạo khác, nhưng chỉ được xài với các loại command thuộc dạng Select và tùy theo cách mà chúng ta cảm thấy quen thuộc nhấtMã: Chọn tất cả

1. OleDbDataAdapter (OleDbCommand)  2. OleDbDataAdapter (StringSelect, OleDbConnection)    3. OleDbDataAdapter (StringSelect, StringConnect)  4.  

- Sau khi thực hiện lệnh, chúng ta sẽ có được kết quả trả về và nó được lưu trong DataTable (đại diện cho một table ) và DataSet ( đại diện cho một Table Collection).- Lưu ý: Muốn làm thay đổi dữ liệu nguồn (trên file) thì ta phải tác động vào các DataTable hay Dataset đồng thời cung cấp thêm các câu SQL tương ứng để thực thi sự thay đổi đó. Chúng ta sẽ nói chi tiết về vấn đề này trong phần tới.

6. Select dữ liệu - Để cho đơn giản trong quá trình học các đối tượng sau dt và da bạn cho nó có tầm vực cục bộ trong form (nằm chung với vị trí tạo connect)Mã: Chọn tất cả

1.        'Tạo một đối tượng Datatable nhận dữ liệu trả về2.         Dim dt As New DataTable("DanhsachSV")3.         'Tạo bộ máy DataAdapter thực hiện command4.         Dim da As New OleDbDataAdapter()

Page 6: VB va acces

- Để trích xuất một dữ liệu ra chúng ta dùng đoạn code sau- Ở đây chúng ta xét trường hợp là đã có sẵn đoạn code tạo Connect ở trên rồiMã: Chọn tất cả

1. Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click

2.         'Tạo command để lấy dữ liệu ra ngoài3.         Dim command As New OleDbCommand()4.         command.Connection = con ' Kết nối5.         command.CommandType = CommandType.Text  'loại

lệnh sử dụng là Text hay là một query trong access6.         command.CommandText = "Select * From

DanhsachSV"7. da.SelectCommand = command ‘ gán command cho da8.         da.Fill(dt)  'Nạp dữ liệu vào Table9.         DataGridView1.DataSource = dt 'Load dữ liệu lên

DataGridview10.  11.     End Sub12.  

7. Data Binding- Đôi khi chúng ta thấy cần kết hợp DataGridview và các Textbox, để khi chúng ta click vào một hàng bất kỳ nào trên DataGridview thì dữ liệu của hàng đó sẽ hiện lên Textbox. Đó là kỹ thuật Data Binding.- Thêm đoạn code sau vào sau đoạn code select ở trên các bạn sẽ thấy hiệu quả ngay.Mã: Chọn tất cả

1. 'Databinding2.         txtSTT.DataBindings.Add("Text", dt, "STT") ‘ Ở

đây ta cần binding textbox txtSTT với giá trị Text ở cột STT của Table

3.         txtName.DataBindings.Add("Text", dt, "Name")4.         txtAdress.DataBindings.Add("Text", dt,

"Address")5.         txtPhone.DataBindings.Add("Text", dt, "Phone")6.         txtEmail.DataBindings.Add("Text", dt, "Email")7.  

8. Insert một Row mới vào trong Table

Page 7: VB va acces

- Để insert một Row mới vào File data trước hết ta cần thêm một dòng mới vào DataTable hay DataSet.Mã: Chọn tất cả

1. Private Sub btnInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsert.Click

2.         'Tao 1 row moi theo cấu trúc row trong dt3.         Dim row As DataRow = dt.NewRow()4.         row("STT") = txtSTT.Text5.         row("Name") = txtName.Text6.         row("Address") = txtAdress.Text7.         row("Phone") = txtPhone.Text8.         row("Email") = txtEmail.Text9.         dt.Rows.Add(row)  ' add row mới này vào dt10.         DataGridView1.DataSource = dt11.         'Tao command để update sự thay đổi trên

vào file data nguồn12.         Dim commandInsert As New OleDbCommand()13.         commandInsert.Connection = con14.         commandInsert.CommandType =

CommandType.Text15.         'SQL for Insert16.         commandInsert.CommandText = "Insert Into

DanhsachSV Values (@STT,@Name,@Address,@Phone,@Email)"17.         'Nap tham so cho các command trên18.         commandInsert.Parameters.Add("@STT",

OleDbType.Numeric, 50, "STT")  ' Nạp giá trị cho tham số @STT thông qua giá trị của cột nguồn STT

19.         commandInsert.Parameters.Add("@Name", OleDbType.VarChar, 50, "Name")

20.         commandInsert.Parameters.Add("@Address", OleDbType.VarChar, 50, "Address")

21.         commandInsert.Parameters.Add("@Phone", OleDbType.VarChar, 50, "Phone")

22.         commandInsert.Parameters.Add("@Email", OleDbType.VarChar, 50, "Email")

23.         'Dùng da để áp đặt sự thay đổi trên vào File data nguồn

24.         da.InsertCommand = commandInsert 'gán command

25.         da.Update(dt)26.  27.     End Sub

If anything you can't solve, i will solve it

Page 8: VB va acces

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi tiger86love102 » Thứ 7 08/11/2008 7:30 pm

Tiếp tục nhé anh Tuyên, thank anh nhìu Mã: Chọn tất cả

1.  2. txtnv.DataBindings.Add("Text", dt, "Ten_nv")3. txtluong.DataBindings.Add("Text", dt, "Muc_luong")

'Muc_luong kiểu Currency4. txtthuong.DataBindings.Add("Text", dt, "Thuong")  

'Thuong kiểu Currency5.  txtung.DataBindings.Add("Text", dt, "Ung")        

'Ung kiểu Currency6.  

Em thấy anh bảo là cần binding textbox txtSTT với giá trị Text ở cột STT của TableCó nghĩa là chuyển kiểu dữ liệu của STT trong csdl thành kiểu Text ạ, phải làm thế nào hả anh? binding như thế nào ạ? Anh nói thêm đoạn này nha, cảm ơn anh

{*._.* vô ưu tư vô sầu vô phiền não *._.*}

tiger86love102 Thành viên tâm huyết

 

Page 9: VB va acces

Bài viết: 418Ngày tham gia: Chủ nhật 19/10/2008 1:10 amĐến từ: http://caulacbovb.com

Tài khoản Yahoo

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 2 10/11/2008 8:28 pm

Có code rồi, gõ vô, chạy thử là sẽ biết nó như thế nào thôi, toàn bộ code cho cái Binding rồi đó.

Mục đích của nó nói rõ rồi mà, khi ta click vào đâu trên DataGridView thì thông tin Record sẽ hiện lên các textbox tương ứng Sửa lần cuối bởi anhtuyenbk vào ngày Thứ 2 10/11/2008 8:37 pm với 1 lần sửa trong tổng số. If anything you can't solve, i will solve it

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 2 10/11/2008 8:30 pm

9. Update (chỉnh sửa một Record)Để chính sửa một Record thì trước tiên bạn phải xác định được Record đó ở đâu trong Database cái đã --> Xác định nó thông qua Primary Key.Ví dụ bạn có giao diện như sau

Page 10: VB va acces

Bạn thấy rằng ta có Primary key ở đây là STT, và khi bạn click vào DataGridview là ta đã lấy được thông tin của Record hiện thời rồi.Vậy đoạn code để Update một record như sauMã: Chọn tất cả

1. Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click

2.         'Get Record can update trong Table3.         Dim row As DataRow = dt.Select("STT = '" &

Convert.ToInt32(txtSTT.Text) & "'")(0)4.         'Update row5.         row.BeginEdit()6.         row("Name") = txtName.Text7.         row("Address") = txtAddress.Text8.         row("Phone") = txtPhone.Text9.         row("Email") = txtEmail.Text10.         row.EndEdit()11.         'Tao command để update sự thay đổi trên

vào file data nguồn12.         Dim commandUpdate As New OleDbCommand()13.         commandUpdate.Connection = con14.         commandUpdate.CommandType =

CommandType.Text15.         'SQL for Update16.         commandUpdate.CommandText = "Update

DanhsachSV Set Name=@Name, Address=@Address, Phone=@Phone, Email=@Email  Where STT=@STT"

17.         'Nap tham so cho các command trên18.         commandUpdate.Parameters.Add("@Name",

OleDbType.VarChar, 20, "Name")19.         commandUpdate.Parameters.Add("@Address",

OleDbType.VarChar, 20, "Address")

Page 11: VB va acces

20.         commandUpdate.Parameters.Add("@Phone", OleDbType.VarChar, 20, "Phone")

21.         commandUpdate.Parameters.Add("@Email", OleDbType.VarChar, 20, "Email")

22.         commandUpdate.Parameters.Add("@STT", OleDbType.Integer, 20, "STT")

23.         'Dùng da để áp đặt sự thay đổi trên vào File data nguồn

24.         da.UpdateCommand = commandUpdate 'gán command

25.         'Dim a As New OleDbCommandBuilder(da)26.         da.Update(dt)27.     End Sub

10. Delete 1 Record- Xóa một Record cũng tương tự như Update chỉ khác phần SQL và tham số .- Đây là cái dễ nhấtMã: Chọn tất cả

1. Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click

2.         'Get Record can update trong Table3.         Dim row As DataRow = dt.Select("STT = '" &

Convert.ToInt32(txtSTT.Text) & "'")(0)4.         row.BeginEdit()5.         row.Delete()6.         row.EndEdit()7.         'Tao command để update sự thay đổi trên vào

file data nguồn8.         Dim commandDelete As New OleDbCommand()9.         commandDelete.Connection = con10.         commandDelete.CommandType =

CommandType.Text11.         'SQL for Delete12.         commandDelete.CommandText = "Delete From

DanhsachSV Where STT=@STT"13.         'Nap tham so cho các command trên14.         commandDelete.Parameters.Add("@STT",

OleDbType.Numeric, 20, "STT")15.         'Dùng da để áp đặt sự thay đổi trên vào

File data nguồn16.         da.DeleteCommand = commandDelete 'gán

command17.     End Sub18.  

Page 12: VB va acces

- Chú ý : Để xóa hết tất cả Record trong bản ta chỉ cần dùng SQL sau “Delete From DanhsachSV” . Các bạn thấy ko có còn tham số nào cả --> ko cần truyền thêm giá trị gì cảSửa lần cuối bởi anhtuyenbk vào ngày Thứ 4 02/12/2009 11:23 am với 2 lần sửa trong tổng số. If anything you can't solve, i will solve it

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi hoangthu1974 » Thứ 3 11/11/2008 8:59 am

Bác anhtuyenbk viết bài này quá chi tiết thành ra dài dòng. Với việc dùng Parameter, theo ý tôi thấy nó phức tạp hơn việc viết trực tiếp.

OleDBCommand chỉ nên dùng khi Update dữ liệu theo lệnh:OleDBCommand = New OleDBCommand(strSQL, Connection)OleDBCommand.ExcutiveNonQuery là được

Còn kết nối:OleDBDataAdapter = New OleDBDataAdapter(strSQL, Connection)OleDBDataAdapter.Fill(DataTable)

viết như vậy sẽ đơn giản hơn.

Ngoài ra, để đơn giản trong việc cập nhật nhiều dòng thêm mới, sửa chữa hay xóa, nên dùng DataTable.GetChanges để lấy các dòng thêm mới, sửa chữa hay xóa và thực hiện vòng lặp For.. Next để cập nhật.

**~~*~~** Nothing is impossible!!! **~~*~~**----------------------------------------------------

Phận làm trai gõ phím bình thiên hạ,Thân anh hùng click chuột định giang sơn!

Page 13: VB va acces

hoangthu1974 Guru

 Bài viết: 730Ngày tham gia: Thứ 5 09/03/2006 9:30 amĐến từ: Hà Nội --> Tp. Hồ Chí Minh

Website Tài khoản Yahoo

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 3 11/11/2008 9:15 am

Thanks hoangthu1974 đã góp ý, mình viết chi tiết thế là để mọi người học mà Khi họ hiểu thì có thể tự rút gọn lại được If anything you can't solve, i will solve it

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 3 11/11/2008 9:34 am

Page 14: VB va acces

11. Insert, Update, Delete theo kiểu Mì Ăn Liền- Chắc các bạn đều thấy rằng, trong các phần Insert, Update, Delete ở trên khá phức tạp đòi hỏi phải luyện tập thường xuyên mới có thể thành thạo cũng như nắm vững SQL.- Do đó, Net cung cấp sẵn cho ta một đối tượng cho phép ta ko cần phải mất công sức để viết lại những cái trên - áp dụng tốt cho đa số trường hợp nhưng tốc độ dĩ nhiên là kém hơn cách viết trên một chút.Đơn giản các bạn chỉ cần thêm một dòng code này vào và loại bỏ tất cả các command Insert, Update, Delete. Ví dụ Update: các bạn sẽ thấy quá trình sẽ đơn giản đi rất nhiềuMã: Chọn tất cả

1. Dim MiAnLien As New OleDbCommandBuilder(da) ' Nó ở đây nè sẽ làm giúp ta làm mọi việc

2. 'Get Record can update trong Table3.         Dim row As DataRow = dt.Select("STT = " &

Convert.ToInt32(txtSTT.Text))(0)4.         'Update row5.         row.BeginEdit()6.         row("Name") = txtName.Text7.         row("Address") = txtAddress.Text8.         row("Phone") = txtPhone.Text9.         row("Email") = txtEmail.Text10.         row.EndEdit()11. ‘Update dữ liệu12. da.Update(dt)13.  

- Insert, Delete thì cũng tương tự thôi, các bạn hãy tự làm.

12. Gọi thực thi một Query có sẵn trong file Access- Ví dụ bạn mở file access của bạn ra click vào Tab Queries và viết một Query tên là QuerySelect (xin nhắc lại query này ở trong file access ko phải ta viết ở trong chương trình)

Mã: Chọn tất cả1. SELECT *2. FROM DanhsachSV3. WHERE STT>[@STT];4.  

- Bạn đang thắc mắc là làm sao ta có thể gọi thực thi query này từ chương trình và nhận kết quả trả về từ nó, cũng như làm sao nạp giá trị cho tham số @STT trong query trên- Để làm điều này thật đơn giản, ta dùng command mà thôiMã: Chọn tất cả

Page 15: VB va acces

1. Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click

2.         Dim command As New OleDbCommand()3.         command.Connection = con4.         command.CommandType =

CommandType.StoredProcedure ' Xác định ta đang gọi query trong file access

5.         command.CommandText = "QuerySelect" 'Tên của Query

6.         command.Parameters.Add("@STT", OleDbType.Numeric).Value = 5 'Nạp giá trị cho tham số @STT

7.         'Nạp command trên vào DataAdapter tùy theo dạng của command là Select, insert, update hay delete

8.         da.SelectCommand = command9.         dt.Clear() 'Xóa dữ liệu cũ10.         da.Fill(dt)11.         DataGridView1.DataSource = dt12.     End Sub13.  

If anything you can't solve, i will solve it

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi tiger86love102 » Thứ 5 13/11/2008 7:23 pm

Anh Tuyên ơi anh post tiếp đi anh, anh post những cái đơn giản trước rồi nâng cao hơn Kết nối csdl rồi, thêm sửa xóa rồi, tiếp đến mấy cái nút back, continnue,..., rồi cả Nút tìm kiếm nữa...Chắc còn nhiều nữa mà!

Page 16: VB va acces

Hj hj phiền anh Tuyên nhiều ngại ghê Thank anh nha

{*._.* vô ưu tư vô sầu vô phiền não *._.*}

tiger86love102 Thành viên tâm huyết

 Bài viết: 418Ngày tham gia: Chủ nhật 19/10/2008 1:10 amĐến từ: http://caulacbovb.com

Tài khoản Yahoo

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 5 13/11/2008 9:05 pm

tiger86love102 đã viết:Kết nối csdl rồi, thêm sửa xóa rồi, tiếp đến mấy cái nút back, continnue,..., rồi cả Nút tìm kiếm nữa...

Back, continue chẳng qua là phép cộng trừ tăng giảm 1 thôi --> tự viết đi Tìm kiếm thì đó chỉ là SQL, nếu ko dùng cái lệnh dt.Select chế biến điều kiện vô là xong thôi, khỏi viết luôn Nắm vũng mấy bài trên thì mấy cái này là con kiến thôi If anything you can't solve, i will solve it

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Page 17: VB va acces

Đầu trang

Re: VB.Net và Access Database

gửi bởi tiger86love102 » Thứ 2 17/11/2008 5:56 am

Oa chua choa anh Tuyên ơi em buồn ngủ wá, cố hỏi anh câu này nữa rồi em đi ngủ đây, chiều lại đi học.Tối về xem câu trả lời của anh Em hỏi là: Để gọi cái câu Query ấy thì cần khai báo ji ko ?Có cần Dim dt as table ji ko anh ? Ví dụ em có query tính tiền của tất cả các hàng của khách có tên là ABC chẳng hạn

Mã: Chọn tất cả1.  2. Dim dt As New DataTable("tinhtien")       '<==  Khai

báo cái này  (*._.*)3. Dim da As New OleDbDataAdapter()4.  

Mã: Chọn tất cả1.  2. Private Sub cmdtinhtien_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click

3.         Dim command As New OleDbCommand()4.         command.Connection = con5.         command.CommandType =

CommandType.StoredProcedure 6.         command.CommandText = "tinhtien" 'Tên của Query7.         da.Fill(dt)8.         txtketqua.text = ... cái ji đó em chưa biết  [-

(  , (kết quả tính đc trong Query)9. End Sub10.  11.  

{*._.* vô ưu tư vô sầu vô phiền não *._.*}

tiger86love102

Page 18: VB va acces

Thành viên tâm huyết

 Bài viết: 418Ngày tham gia: Chủ nhật 19/10/2008 1:10 amĐến từ: http://caulacbovb.com

Tài khoản Yahoo

Đầu trang

Re: VB.Net và Access Database

gửi bởi thuytrang2542000 » Thứ 5 20/11/2008 11:28 pm

Mã: Chọn tất cả1.  2. Private Sub cmdtinhtien_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles cmdtinhtien.Click

3.         Dim command As New OleDbCommand("tinhtien",con)4.         command.CommandType =

CommandType.StoredProcedure 5.         Dim da as new OleDbdataAdapter(command)6.         Dim dt as new DataTable()7.         da.Fill(dt)8.         txtketqua.text = dt.Rows(0)(0).ToString()9. End Sub10.  

^^ Nhìn lên thì không bằng ai . Nhìn xuống thì hổng còn ai ngoài mình ^^

thuytrang2542000 Thành viên tích cực

 Bài viết: 155Ngày tham gia: Thứ 2 21/04/2008 3:10 amĐến từ: TP.HCM

Đầu trang

Re: VB.Net và Access Database

gửi bởi tiger86love102 » Thứ 7 22/11/2008 2:40 am

Page 19: VB va acces

tiger cảm ơn Trang nhiều nha Một điều hiển nhiên là với mỗi một trường hợp cụ thể lại phải khai báo một kiểu biến nào đấy, mỗi kiểu biến lại có nhiều cách khai báo, cách sử dụng... Toàn là những cái có sẵn trong VB, viết vài chữ là nó hiện ra ngay thế nhưng mình chẳng biết cái nào dùng cho công việc ji.Mấy cái này có thể nói là khó vậy, nhiều cái lằng nhằng hơn nữa mà chỉ nhìn sơ qua mình chẳng biết nó là cái ji, ko thể hiểu............. Nghĩ đến đây mà nản, mà quẫn, chán lắm , sao mà uất ức chạnh lòng quá..... ..... nhớ mẹNgồi buồn bậy bạ vài dòng tâm sự các bạn đừng để ý nhé

{*._.* vô ưu tư vô sầu vô phiền não *._.*}

tiger86love102 Thành viên tâm huyết

 Bài viết: 418Ngày tham gia: Chủ nhật 19/10/2008 1:10 amĐến từ: http://caulacbovb.com

Tài khoản Yahoo

Đầu trang

Re: VB.Net và Access Database

gửi bởi AnhGaWe02 » Thứ 2 16/02/2009 11:47 am

Mình nghỉ sao ko tạo class cho dễ sử dụng vậy anh Thanh, Thanh có dùng cách tạo class ko. Ví dụ như 1 class XL_bang để lưu chứa các hàm Ket_noi để kết nối dữ liệu chẳng hạn. Khi cần sử dụng thì gọi xài thôi .AnhGaWe02

 Bài viết: 5Ngày tham gia: Thứ 4 04/02/2009 10:32 am

Đầu trang

Re: VB.Net và Access Database

gửi bởi anhtuyenbk » Thứ 2 16/02/2009 11:51 am

Page 20: VB va acces

Mình chỉ viết bài hướng dẫn các thao tác với cơ sở dữ liệu thôi. Còn các bạn nếu muốn viết class thì phải tự dựa vào những cái trên, kiến thức về class của bạn mà viết lại Mình ko có thời gian để làm việc đó. If anything you can't solve, i will solve it

anhtuyenbk Guru

 Bài viết: 1314Ngày tham gia: Thứ 5 22/09/2005 4:12 pmĐến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy

Đầu trang

Re: VB.Net và Access Database

gửi bởi phong25_2 » Thứ 2 02/03/2009 4:55 pm

em tạo 1 file mdb và thử update nhưng ko được. nó báo lỗi là " cannot find column [mssv] "Dim row As DataRow = dt.Select("mssv = " & mssv.Text)(1)please help mephong25_2

 Bài viết: 2Ngày tham gia: Thứ 2 02/03/2009 12:41 pm

Đầu trang

Re: VB.Net và Access Database

gửi bởi tungcan5diop » Thứ 3 03/03/2009 10:33 am

phong25_2 đã viết:em tạo 1 file mdb và thử update nhưng ko được. nó báo lỗi là " cannot find column [mssv] "Dim row As DataRow = dt.Select("mssv = " & mssv.Text)(1)please help me

Mã: Chọn tất cả

Page 21: VB va acces

1. --bạn xem lại trong CSDL của bạn đã có trường [mssv] chưa

2.  Dim row As DataRow = dt.Select("mssv  = " & mssv.Text)(1)---->viết sai rồi

3. Dim row As DataRow = dt.Select("mssv='"+  mssv.Text +"'")-->viết lại nè