Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 18
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Kết nối CSDL Access trong C# như thế nào?

    Tôi đang viết 1 chương trình Win app có connect đến CSDL là Access.
    vấn đề tôi cần các bạn help là: file CSDL Access này lại nằm trên một máy khác trong mạng LAN.
    vậy connect string viết thế nào? (Ví dụ máy chứa file CSDL là 191.168.0.100, thư mục chứa file là Desktop -> data.mdb)
    Vấn đề thứ 2: nếu mình connect đến file mdb nhưng được lưu trên 1 host chẳng hạn thì liệu có connect được ko? (ví dụ link: www.abc.com/data.mdb)
    có cách nào connect đến file mdb nhưng ko nằm trên máy local ko?
    Mong mọi người giúp đỡ. [IMG]images/smilies/online.gif[/IMG]

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình post phần kết nối(thêm sửa xóa) này không chính xác mấy so với ý bạn hỏi nhưng đúng với câu hỏi của bạn! Hihi` Kết nối này có tối ưu ko? [IMG]images/smilies/waiting.gif[/IMG]

    Mã:
    //File này ở form 1using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace Quanlydulich{    #region "Chuong trinh chinh!"    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }                Data dt = new Data();        int t ,u;         private void Form1_Load(object sender, EventArgs e)        {            dt.ketnoi();            hien();             hiennhap(false);            hienbutton(true);                    }         private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)        {            try            {                if (t == 0 || t == 1)                    u = 1;                int row = e.RowIndex;                txtmatour.Text = dt.mydt.Rows[row]["MaTour"].ToString();                cbbdkh.Text = dt.mydt.Rows[row]["DiemKhoiHanh"].ToString();                cbbdkt.Text = dt.mydt.Rows[row]["DiemKetThuc"].ToString();                dtpkh.Text = dt.mydt.Rows[row]["ThoiGianKhoiHanh"].ToString();                dtpkt.Text = dt.mydt.Rows[row]["ThoiGianKetThuc"].ToString();                txtndk.Text = dt.mydt.Rows[row]["NguoiDangKy"].ToString();                txtdt.Text = dt.mydt.Rows[row]["DienThoai"].ToString();                cbbpt.Text = dt.mydt.Rows[row]["PhuongTien"].ToString();                txtsln.Text = dt.mydt.Rows[row]["SoLuongNguoi"].ToString();            }            catch (Exception ex)            {                MessageBox.Show(ex.Message);                            }        }       private void lammoi()        {            txtdt.Clear();            txtmatour.Clear();            txtndk.Clear();            txtsln.Clear();            cbbdkh.Text= "";            cbbdkt.Text = "";            cbbpt.Text = "";        }         private void hiennhap(bool edit)        {            txtmatour.Enabled = edit;            txtsln.Enabled = edit;            cbbpt.Enabled = edit;            cbbdkt.Enabled = edit;            cbbdkh.Enabled = edit;            dtpkh.Enabled = edit;            dtpkt.Enabled = edit;            txtndk.Enabled = edit;            txtdt.Enabled = edit;         }        private void hienbutton(bool edit)        {            btnthem.Visible = edit;            btnsua.Visible = edit;            btnxoa.Visible = edit;            btnluu.Visible = !edit;            btnhuy.Visible = !edit;         }         private void hien()        {            dt.datagrid("SELECT * FROM Tour");            this.dataGridView1.DataSource = dt.mydt;            this.dataGridView1.AutoGenerateColumns = false;                    }        private void btnthem_Click(object sender, EventArgs e)        {            lammoi();            hiennhap(true);            hienbutton(false);            txtmatour.Focus();            t = 0;        }        private void btnsua_Click(object sender, EventArgs e)        {                        hienbutton(false);            hiennhap(true);            txtmatour.Enabled = false;            t = 1;        }        private void btnxoa_Click(object sender, EventArgs e)        {            if (u != 1)                MessageBox.Show("Chưa chọn dữ liệu!", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);                        else if (MessageBox.Show("Bạn có muốn xóa không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)            {                dt.command("DELETE FROM Tour WHERE MaTour='" + txtmatour.Text + "'");                dt.xoamyds();                hien();                lammoi();            }        }         private void btnluu_Click(object sender, EventArgs e)        {            if(t==0)            {                dt.command("INSERT INTO Tour(MaTour,DiemKhoiHanh,DiemKetThuc,ThoiGianKhoiHanh,ThoiGianKetThuc,NguoiDangKy,DienThoai,PhuongTien,SoLuongNguoi)" +                "VALUES('" + txtmatour.Text + "','" + cbbdkh.Text + "','" + cbbdkt.Text + "','" + dtpkh.Value.Date + "','" + dtpkt.Value.Date + "','" + txtndk.Text + "','" + txtdt.Text + "','" + cbbpt.Text + "','" + txtsln.Text + "')");                dt.xoamyds();                hien();                hienbutton(true);                hiennhap(false);            }            else if(t==1)            {                dt.command("UPDATE Tour SET Matour='" + txtmatour.Text + "',DiemKhoiHanh='" + cbbdkh.Text + "',DiemKetThuc='" + cbbdkt.Text + "',ThoiGianKhoiHanh='" + dtpkh.Value.Date + "',ThoiGianKetThuc='" + dtpkt.Value.Date + "',NguoiDangKy='" + txtndk.Text + "',DienThoai='" + txtdt.Text + "',PhuongTien='" + cbbpt.Text + "',SoLuongNguoi='" + txtsln.Text + "' WHERE MaTour='"+txtmatour.Text+"' ");                dt.xoamyds();                hien();                hienbutton(true);                hiennhap(false);                t = -1;            }        }        private void btnhuy_Click(object sender, EventArgs e)        {            lammoi();            hiennhap(false);            hienbutton(true);        }     }    #endregion}  //File này ở Class Data của mìnhusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.OleDb;using System.Windows.Forms;namespace Quanlydulich{    #region "Access"    public class Data    {        public OleDbConnection mycon;        public OleDbDataAdapter myda;        public DataSet myds;        public DataTable mydt;        private OleDbCommand mycom;         public void ketnoi()        {            try            {                mycon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=abc.mdb");                mycon.Open();            }            catch (Exception ex)            {                MessageBox.Show(ex.Message);            }        }        public void ngatketnoi()        {            mycon.Close();        }        public void command(string luusql)        {                mycom = new OleDbCommand(luusql, mycon);                mycom.ExecuteNonQuery();        }        public void xoamyds()        {            myds.Clear();        }        public void datagrid(string all)        {                myda = new OleDbDataAdapter(all, mycon);                myds = new DataSet();                myda.Fill(myds, "Tour");                mydt = myds.Tables["Tour"];        }    }#endregion}

  3. #3
    Ai biết lỗi này không giúp mình với, cái này trước mình dùng WinXP 32 bit thì chạy bình thường giờ chuyển sang Win7 64 bit thì thành thế này.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi trantrungthuong
    Ai biết lỗi này không giúp mình với, cái này trước mình dùng WinXP 32 bit thì chạy bình thường giờ chuyển sang Win7 64 bit thì thành thế này.
    Không phải lỗi đâu bạn ah, do hệ điều hành bạn đang chạy 64bit đó, bạn vào properties của solution hay project gì đó, vào tab built, chỉnh any cpu thành x86 là ok thôi, lúc trước mình cũng điên đầu với cái này[IMG]images/smilies/biggrin.png[/IMG]

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi trantrungthuong
    Ai biết lỗi này không giúp mình với, cái này trước mình dùng WinXP 32 bit thì chạy bình thường giờ chuyển sang Win7 64 bit thì thành thế này.
    Kiểm tra lại câu lệnh kết nối chưa chuẩn thì phải! thêm dấu @ trước chuỗi kết nối xem sao
    ví dụ:

    Mã:
    public string connectionString =@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='E:\Data SQL\dtDemo.mdb';User Id=Admin;Jet OLEDB:Database Password=";

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi khanhduy.8hpm
    Không phải lỗi đâu bạn ah, do hệ điều hành bạn đang chạy 64bit đó, bạn vào properties của solution hay project gì đó, vào tab built, chỉnh any cpu thành x86 là ok thôi, lúc trước mình cũng điên đầu với cái này[IMG]images/smilies/biggrin.png[/IMG]
    [IMG]images/smilies/waiting.gif[/IMG] Làm theo bạn nè đi. đúng rồi đó. right click on project=> properties=> build rồi chỉnh platform =x86.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    HI. mình chưa làm kết nối với access bao giờ. Phát biểu sai ngại quá

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi trantrungthuong
    Ai biết lỗi này không giúp mình với, cái này trước mình dùng WinXP 32 bit thì chạy bình thường giờ chuyển sang Win7 64 bit thì thành thế này.
    Bạn xem lại chuỗi kết nối đi. Lỗi nên không thể mở kết nối ra được.

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tôi đang viết 1 chương trình Win app có connect đến CSDL là Access.
    vấn đề tôi cần các bạn help là: file CSDL Access này lại nằm trên một máy khác trong mạng LAN.
    vậy connect string viết thế nào? (Ví dụ máy chứa file CSDL là 191.168.0.100, thư mục chứa file là Desktop -> data.mdb)
    Vấn đề thứ 2: nếu mình connect đến file mdb nhưng được lưu trên 1 host chẳng hạn thì liệu có connect được ko? (ví dụ link: www.abc.com/data.mdb)
    có cách nào connect đến file mdb nhưng ko nằm trên máy local ko?
    Mong mọi người giúp đỡ.

    mình cũng đang lm 1 project có nội dung tương tự. Nếu bác nào làm thành công rồi có thể gửi cho mình qua nick yaoo: suave_wind. hoặc nick sky:n.t.hoan để mình tham khảo được khồng?
    Thank các bác nhiều nhiều nhé

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    kaka. Bác: thumotlanchobiet chưa làm được thì vào trang này nha'. http://www.connectionstrings.com/access. Đúng theo yêu cầu của bác luôn.

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •