• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

VB.Net và Access Database

Các bài viết hướng dẫn về Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

thuyan1990
Thành viên trung thành
Thành viên trung thành
Bài viết: 299
Ngày tham gia: T.Bảy 02/01/2010 10:23 am
Has thanked: 20 time
Been thanked: 2 time

Re: VB.Net và Access Database

Gửi bàigửi bởi thuyan1990 » T.Bảy 23/01/2010 11:03 pm

Hình như 9 xác nó là type varChar :D



Hình đại diện của người dùng
xuanquy_th
Guru
Guru
Bài viết: 798
Ngày tham gia: T.Ba 05/08/2008 9:15 pm
Đến từ: Thanh Hoá
Has thanked: 1 time
Been thanked: 10 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi xuanquy_th » T.Hai 25/01/2010 5:37 pm

Nhìn vào tham số đầu vào thì bạn biết tại sao mình lại nói nó chỉ nhận lệnh thuộc loại Select.
Chỉ cần bạn đọc kỹ các ví dụ mình đưa là bạn sẽ hiểu tại sao.

vietteiv
Đã bao giờ chạy lệnh kết hợp chưa?
Khi Chúa Trời đóng cánh cửa này lại, Ngài sẽ mở một cánh cửa khác cho ta.
Nhưng ta thường nhìn quá lâu vào cánh cửa đã đóng nên không thấy được có một cánh cửa khác đang mở ra cho ta!!!

volcano2409
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 92
Ngày tham gia: T.Ba 21/04/2009 5:24 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi volcano2409 » T.Ba 16/03/2010 3:06 pm

Cho em hỏi làm sao có thể Add Field Name vào Combobox dc vậy anh !

Hình đại diện của người dùng
xuanquy_th
Guru
Guru
Bài viết: 798
Ngày tham gia: T.Ba 05/08/2008 9:15 pm
Đến từ: Thanh Hoá
Has thanked: 1 time
Been thanked: 10 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi xuanquy_th » T.Ba 16/03/2010 4:47 pm

  1. cbo.DataSource = nguồn dữ liệu
  2. cbo.ValueMember = Field nhận trả giá trị
  3. cbo.DisplayMember = Field hiển thị giá trị
Khi Chúa Trời đóng cánh cửa này lại, Ngài sẽ mở một cánh cửa khác cho ta.
Nhưng ta thường nhìn quá lâu vào cánh cửa đã đóng nên không thấy được có một cánh cửa khác đang mở ra cho ta!!!

volcano2409
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 92
Ngày tham gia: T.Ba 21/04/2009 5:24 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi volcano2409 » T.Sáu 19/03/2010 12:02 pm

Cho em hỏi them tí ạ !

Khi mình thêm một Field rồi ! Nhưng lại phải thoát ra rồi vao lại nó mới Cập nhập Data cho combobox !
Vậy có cách nào ko cần phải thoát ra nhưng vẫn cập nhập dc ?

Hình đại diện của người dùng
manhhung87
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 320
Ngày tham gia: T.Sáu 30/05/2008 8:47 am
Đến từ: Ha Noi University of Industry
Been thanked: 1 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi manhhung87 » T.Bảy 20/03/2010 9:29 am

đoạn code load data vào combobox bạn để riểng ra một thủ tục khi. Khi bạn cập nhật xong csdl hay thay đổi gì gì đó, bạn chỉ cận chạy lại cái thủ tục đó.
Công cụ quản trị website.
http://www.vnkweb.com

jang
Bài viết: 1
Ngày tham gia: T.Hai 05/04/2010 6:01 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi jang » T.Hai 05/04/2010 6:29 pm

ai giúp xem cho em cái phần update nó cứ báo lỗi Syntax error in UPDATE statement.


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim row As DataRow = dt.Select("MaHang = '" & txtMahang.Text & "'")(0)
row.BeginEdit()
row("TenHang") = txtTenhang.Text
row("SoLuong") = txtSoluong.Text
row("MaKho") = txtMakho.Text
row.EndEdit()
frmqldulieu.DataGridView1.DataSource = dt
Dim commandUpdate As New OleDbCommand()
commandUpdate.Connection = con
commandUpdate.CommandType = CommandType.Text
commandUpdate.CommandText = "Update Hanghoa Set TenHang=@TenHang, SoLuong=@SoLuong, MaKho=@MaKho, Where MaHang=@MaHang"
commandUpdate.Parameters.Add("@TenHang", OleDbType.VarChar, 100, "TenHang")
commandUpdate.Parameters.Add("@SoLuong", OleDbType.Numeric, 50, "SoLuong")
commandUpdate.Parameters.Add("@MaKho", OleDbType.VarChar, 50, "MaKho")
commandUpdate.Parameters.Add("@MaHang", OleDbType.VarChar, 50, "MaHang")
da.UpdateCommand = commandUpdate
da.Update(dt)
End Sub

zippo66
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Ba 13/04/2010 1:56 pm
Đến từ: VNIT
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi zippo66 » T.Hai 19/04/2010 10:45 pm

Mã: Chọn hết

 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim row As DataRow = dt.Select("Msgv='" & TextBox1.Text & "'")(0)
        'Update row
        row.BeginEdit()
        row("Msgv") = TextBox1.Text
        row("Tengv") = TextBox2.Text
        row("Sodienthoai") = TextBox3.Text
        row("Diachi") = TextBox4.Text
        row.EndEdit()
        'Tao command để update sự thay đổi trên vào file data nguồn
        Dim commandUpdate As New OleDbCommand()
        commandUpdate.Connection = con
        commandUpdate.CommandType = CommandType.Text       
        commandUpdate.CommandText = "Update Giaovien Set Msgv=@Msgv, Tengv=@Tengv, Sodienthoai=@Sodienthoai, Diachi=@Diachi  Where Msgv=@Msgv"
     
        commandUpdate.Parameters.Add("@Msgv", OleDbType.VarChar, 20, "Msgv")
        commandUpdate.Parameters.Add("@Tengv", OleDbType.VarChar, 20, "Tengv")
        commandUpdate.Parameters.Add("@Sodienthoai", OleDbType.Numeric, 20, "Sodienthoai")
        commandUpdate.Parameters.Add("@Diachi", OleDbType.VarChar, 20, "Diachi")
   
        da.UpdateCommand = commandUpdate
       
        da.Update(dt)

    End Sub

Các huynh có thể chỉ giáo giúp e được k ạ ?
Trong Database có 4 trường : Msgv , Tengv , Sodienthoai , Diachi
E muốn update mỗi khi chỉnh sửa trong datagrid nhưng khi F5 e bị báo lỗi : Cannot find colums [Msgv]
mặc dù trong Database e có rồi và có tên là Msgv !
E đang k biết cách chữa !
Mong các huynh chỉ giáo e với !!!!
E nghĩ nó chưa tìm được khóa chính nhưng e chưa biết sửa kiểu gì nữa ạ
!
Va- roi- Gio' se lai. dua may^ ve- troi- [list=][/list]

Hình đại diện của người dùng
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Bài viết: 1123
Ngày tham gia: T.Tư 24/09/2008 4:04 pm
Đến từ: TPHCM
Has thanked: 1 time
Been thanked: 28 time

Re: VB.Net và Access Database

Gửi bàigửi bởi tungcan5diop » T.Ba 20/04/2010 9:53 am

lỗi này bạn tìm ngay trong chủ để này hoặc tìm trong forum nhé,lúc trước cũng đã có mem bị như bạn vậy đó,bạn chịu khó tìm nhé.
mình chỉ chú ý bạn cái này thôi:trong nguồn dữ liệu mà bạn đổ cho nguồn
  1. Dim row As DataRow = dt.Select("Msgv='" & TextBox1.Text & "'")(0)

thì bạn xem câu truy vấn của bạn đã select cái cột MSGV chưa.
vd:
nếu bạn viết
  1. SELECT tengv,namsinh FROM dt_giaovien


  1. Dim row As DataRow = dt.Select("Msgv='" & TextBox1.Text & "'")(0)

thì nó sẽ báo lỗi như bạn đã nêu
..nếu bạn làm
  1. SELECT msgv, tengv,namsinh FROM dt_giaovien

thì nó sẽ ko báo lỗi nữa.
Hỡi thế gian bug(lỗi) là gì?
Mà sửa...hoài không hết!

zippo66
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Ba 13/04/2010 1:56 pm
Đến từ: VNIT
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi zippo66 » T.Ba 20/04/2010 10:08 am

Cảm ơn anh. E đã tìm nhưng các câu trả lời đều k rõ .
A có thể xem qua code toàn bài của e được k ạ ?
E chưa hiểu lắm.
Vì nếu như thế , tức là ở câu select ở ngay trong button này hay câu nào ạ. ?
Cảm ơn anh rất nhiều

Mã: Chọn hết

Imports System.Data
Imports System.Data.OleDb
Public Class Form1
    Dim con As New OleDbConnection
    Dim dt As New DataTable("Giaovien")
    Dim da As New OleDbDataAdapter()
        Private Sub ketnoi()
        Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Application.StartupPath & "\dataBTL.mdb;"
        con = New OleDbConnection(str)
        con.Open()
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'DataBTLDataSet1.Giaovien' table. You can move, or remove it, as needed.
        Me.GiaovienTableAdapter.Fill(Me.DataBTLDataSet1.Giaovien)
        ketnoi()
       
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ketnoi()
        Dim command As New OleDbCommand()
        command.Connection = con
        command.CommandType = CommandType.Text
        command.CommandText = "Select * from Giaovien"
        da.SelectCommand = command
        da.Fill(dt)
        DataGridView1.DataSource = dt
        TextBox1.DataBindings.Add("Text", dt, "Msgv") ' Ở đây ta cần binding textbox txtSTT với giá trị Text ở cột STT của Table
        TextBox2.DataBindings.Add("Text", dt, "Tengv")
        TextBox3.DataBindings.Add("Text", dt, "Sodienthoai")
        TextBox4.DataBindings.Add("Text", dt, "Diachi")


    End Sub

   
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ketnoi()

        Dim row As DataRow = dt.Select("Msgv='" & TextBox1.Text & "'")(0)
        row.BeginEdit()
        row("Msgv") = TextBox1.Text
        row("Tengv") = TextBox2.Text
        row("Sodienthoai") = TextBox3.Text
        row("Diachi") = TextBox4.Text
        row.EndEdit()
        Dim commandUpdate As New OleDbCommand()
        Try
            commandUpdate.Connection = con
            commandUpdate.CommandType = CommandType.Text         'SQL for Update
            commandUpdate.CommandText = "Update Giaovien Set Msgv=@Msgv, Tengv=@Tengv, Sodienthoai=@Sodienthoai, Diachi=@Diachi  Where Msgv=@Msgv"

        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error")
        End Try
        commandUpdate.Parameters.Add("@Msgv", OleDbType.VarChar, 20, "Msgv")
        commandUpdate.Parameters.Add("@Tengv", OleDbType.VarChar, 20, "Tengv")
        commandUpdate.Parameters.Add("@Sodienthoai", OleDbType.Numeric, 20, "Sodienthoai")
        commandUpdate.Parameters.Add("@Diachi", OleDbType.VarChar, 20, "Diachi")
        Dim a As New OleDbCommandBuilder(da)
        da.Update(dt)

    End Sub

   
End Class
!
Va- roi- Gio' se lai. dua may^ ve- troi- [list=][/list]

Hình đại diện của người dùng
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Bài viết: 1123
Ngày tham gia: T.Tư 24/09/2008 4:04 pm
Đến từ: TPHCM
Has thanked: 1 time
Been thanked: 28 time

Re: VB.Net và Access Database

Gửi bàigửi bởi tungcan5diop » T.Ba 20/04/2010 10:38 am

gửi cái project của bạn lên đây đi,mình coi cho
trong câu:
Select * from Giaovien-->bạn đừng ghi select *,ghi hết tất cả các trường ra.
Hỡi thế gian bug(lỗi) là gì?
Mà sửa...hoài không hết!

zippo66
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Ba 13/04/2010 1:56 pm
Đến từ: VNIT
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi zippo66 » T.Ba 20/04/2010 10:56 am

Đây là project và database của e đấy a.
Mong a giúp đỡ
Tập tin đính kèm
testketnoi.rar
(514.48 KiB) Đã tải 543 lần
dataBTL.rar
(12.24 KiB) Đã tải 432 lần
!
Va- roi- Gio' se lai. dua may^ ve- troi- [list=][/list]

Hình đại diện của người dùng
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Bài viết: 1123
Ngày tham gia: T.Tư 24/09/2008 4:04 pm
Đến từ: TPHCM
Has thanked: 1 time
Been thanked: 28 time

Re: VB.Net và Access Database

Gửi bàigửi bởi tungcan5diop » T.Ba 20/04/2010 11:26 am

mình ko mở được(bạn xài 2008,mình xài 2005)
nhưng coi qua code thì thấy:khi bạn bấm Button2 thì bạn sẽ lọc dữ liệu và khi đó sẽ tiến hành lưu,còn Button1 có nhiệm vụ connect tới database,đổ dữ liệu vào DataGridView(đồng thời đẩy dữ liệu vào datatable dt-nơi mà bạn sẽ lọc dữ liệu..vậy cho nên,khi bạn bấm Button2 mà chưa bấm Button1 thì sẽ bị lỗi như bạn nói,đến giờ bạn hiểu vì sao mà nó báo lỗi là ko có MSGV khi bạn bấm Button2 chưa?
cách khắc phuc bấm Button1 rồi mới cho hiện Button2,tùy bạn xử lý...
Hỡi thế gian bug(lỗi) là gì?
Mà sửa...hoài không hết!

zippo66
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Ba 13/04/2010 1:56 pm
Đến từ: VNIT
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi zippo66 » T.Ba 20/04/2010 11:46 am

vậy a ơi. cho e hỏi đoạn code datablinding của e có vấn đề j k ạ ? Nút update của e có hiệu lực trên mã GV đúng k ạ ? Vậy e muốn update toàn bộ columns thì như nào ạ ? E chưa rành về Vb.net lắm. Đây là tự học nên còn rất nhiều thứ phải học hỏi. MOng a giúp đỡ .
!
Va- roi- Gio' se lai. dua may^ ve- troi- [list=][/list]

zippo66
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Ba 13/04/2010 1:56 pm
Đến từ: VNIT
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi zippo66 » T.Ba 20/04/2010 11:49 am

Anh ơi .E còn 1 việc nữa đó là : khi update như thế , thì update vào dataset hay trực tiếp vào database ạ ? e đã thử nhưng k save được update trong database a ạ ?
!
Va- roi- Gio' se lai. dua may^ ve- troi- [list=][/list]

volcano2409
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 92
Ngày tham gia: T.Ba 21/04/2009 5:24 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi volcano2409 » T.Sáu 23/04/2010 9:43 am

Cái code của Anh Tuyen ấy ! Không thể del data khi trong database ko còn một Row nào ! Ai chỉ em cách fix cái ạ !

Hình đại diện của người dùng
vietteiv
Quản trị
Quản trị
Bài viết: 1323
Ngày tham gia: T.Bảy 10/02/2007 12:17 am
Đến từ: Cung cấp giải pháp quản lý doanh nghiệp, dự án, tư vấn xây dựng
Has thanked: 6 time
Been thanked: 71 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi vietteiv » T.Sáu 23/04/2010 10:19 am

volcano2409 đã viết:Cái code của Anh Tuyen ấy ! Không thể del data khi trong database ko còn một Row nào ! Ai chỉ em cách fix cái ạ !

khi database ko còn 1 row nào thì lấy gì để del nữa hả bạn!!!

zippo66
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Ba 13/04/2010 1:56 pm
Đến từ: VNIT
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi zippo66 » T.Sáu 23/04/2010 8:35 pm

các anh ơi , cho e hỏi , e vẫn bị báo lỗi là : Cannot find columns !!! e chưa làm được , huynh nào có 1 bài về như thế, 1 bài trọn vẹn có thể up lên dể e tham khảo được k ạ ? ví dụ thôi ạ :( . E gà quá :((
!
Va- roi- Gio' se lai. dua may^ ve- troi- [list=][/list]

volcano2409
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 92
Ngày tham gia: T.Ba 21/04/2009 5:24 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi volcano2409 » CN 13/06/2010 7:23 pm

vietteiv đã viết:
volcano2409 đã viết:Cái code của Anh Tuyen ấy ! Không thể del data khi trong database ko còn một Row nào ! Ai chỉ em cách fix cái ạ !

khi database ko còn 1 row nào thì lấy gì để del nữa hả bạn!!!


Không anh , ý em là trước đó trong data có dữ liệu , Nếu xóa hết các dữ liệu trong đó và nhấn nút Update sẽ báo lỗi
Ý em ở đây là mún xóa hết dữ liệu đi !

bigboy83
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 66
Ngày tham gia: T.Năm 26/03/2009 8:26 am

Re: VB.Net và Access Database

Gửi bàigửi bởi bigboy83 » T.Ba 13/07/2010 7:43 pm

cho em hỏi làm sao để cập nhật trực tiếp từ datagirdview mà ko cần xài textbox, chỉ cần nhập rồi nó tự cập nhật :( em tìm ko có

mong các anh chỉ giúp em

rất cảm ơn


Quay về “[.NET] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách