Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Xin mọi người xem giúp em code này với! Sao em chạy toàn lỗi à!

  1. #1
    Ngày gia nhập
    11 2011
    Nơi ở
    Hà Nội
    Bài viết
    0

    Mặc định Xin mọi người xem giúp em code này với! Sao em chạy toàn lỗi à!

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Data.OleDb;

    namespace Lamlai
    {
    public partial class FormMain : Form
    {
    public FormMain()
    {
    InitializeComponent();
    }

    private void FormMain_Load(object sender, EventArgs e)
    {

    }

    private void btnBrowse_Click(object sender, EventArgs e)
    {
    OpenFileDialog ofd = new OpenFileDialog();
    txtFilePath.Text = ofd.ShowDialog() == DialogResult.OK ? ofd.FileName : "";
    }

    private void btnImport_Click(object sender, EventArgs e)
    {
    if (!CheckInput())
    return;
    DataTable data = ReadDataFromExcel();
    ImportIntoDatabase(data);
    ShowData();
    }
    private bool CheckInput()
    {
    if (txtFilePath.Text.Trim() == "")
    {
    MessageBox.Show("Xin chọn file");
    return false;
    }
    return true;
    }
    private DataTable ReadDataFromExcel()
    {
    string connectionString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+txtFilePath+";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";";
    OleDbConnection oledbConn = new OleDbConnection();
    DataTable data = null;
    try
    {
    //Mở kết nối.
    oledbConn.Open();
    //Tạo đối tượng và query từ data với Sheet1
    OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);
    //Tạo đối tượng để thực thi query lấy data
    OleDbDataAdapter oleda = new OleDbDataAdapter();
    oleda.SelectCommand = cmd;
    //Tạo đối tượng để hứng dữ liệu
    DataSet ds = new DataSet();
    oleda.Fill(ds);
    data = ds.Tables[0];
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString());
    }
    finally
    {
    oledbConn.Close();
    }
    return data;
    }
    private void ImportIntoDatabase(DataTable data)
    {
    if (data == null || data.Rows.Count == 0)
    {
    MessageBox.Show("Không có cơ sở dữ liệu");
    return;
    }
    HonghaTableAdapters.ButvietTableAdapter adapter = new HonghaTableAdapters.ButvietTableAdapter();
    string code = "", tenSP = "", mota = "";
    try
    {
    for (int i = 0; i < data.Rows.Count; i++)
    {
    code = data.Rows[i]["Code"].ToString().Trim();
    tenSP = data.Rows[i]["TenSP"].ToString().Trim();
    mota = data.Rows[i]["Mota"].ToString().Trim();
    Hongha.ButvietDataTable a = adapter.GetDataBy(code);
    if (a == null || a.Rows.Count == 0)
    {
    adapter.InsertButviet(code, tenSP, mota);
    }
    else
    {
    adapter.UpdateInfoByCode(tenSP, mota, code);
    }
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString());
    }
    MessageBox.Show("Kết thúc quá trình Import");
    }
    private void ShowData()
    {
    HonghaTableAdapters.ButvietTableAdapter adapter = new HonghaTableAdapters.ButvietTableAdapter();
    dvgButviet.DataSource = adapter.GetData();
    }
    }
    }
    Em cho debug thì chạy lần đầu, toàn báo lỗi ở đoạn mở kết nối, lần chạy thứ 2 thì đơ luôn máy! Mọi người giúp mình với!

  2. #2
    Ngày gia nhập
    09 2008
    Bài viết
    71

    Trích dẫn Nguyên bản được gửi bởi cattrangcodon Xem bài viết
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Data.OleDb;

    namespace Lamlai
    {
    public partial class FormMain : Form
    {
    public FormMain()
    {
    InitializeComponent();
    }

    private void FormMain_Load(object sender, EventArgs e)
    {

    }

    private void btnBrowse_Click(object sender, EventArgs e)
    {
    OpenFileDialog ofd = new OpenFileDialog();
    txtFilePath.Text = ofd.ShowDialog() == DialogResult.OK ? ofd.FileName : "";
    }

    private void btnImport_Click(object sender, EventArgs e)
    {
    if (!CheckInput())
    return;
    DataTable data = ReadDataFromExcel();
    ImportIntoDatabase(data);
    ShowData();
    }
    private bool CheckInput()
    {
    if (txtFilePath.Text.Trim() == "")
    {
    MessageBox.Show("Xin chọn file");
    return false;
    }
    return true;
    }
    private DataTable ReadDataFromExcel()
    {
    string connectionString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+txtFilePath+";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";";
    OleDbConnection oledbConn = new OleDbConnection();
    DataTable data = null;
    try
    {
    //Mở kết nối.
    oledbConn.Open();
    //Tạo đối tượng và query từ data với Sheet1
    OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", oledbConn);
    //Tạo đối tượng để thực thi query lấy data
    OleDbDataAdapter oleda = new OleDbDataAdapter();
    oleda.SelectCommand = cmd;
    //Tạo đối tượng để hứng dữ liệu
    DataSet ds = new DataSet();
    oleda.Fill(ds);
    data = ds.Tables[0];
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString());
    }
    finally
    {
    oledbConn.Close();
    }
    return data;
    }
    private void ImportIntoDatabase(DataTable data)
    {
    if (data == null || data.Rows.Count == 0)
    {
    MessageBox.Show("Không có cơ sở dữ liệu");
    return;
    }
    HonghaTableAdapters.ButvietTableAdapter adapter = new HonghaTableAdapters.ButvietTableAdapter();
    string code = "", tenSP = "", mota = "";
    try
    {
    for (int i = 0; i < data.Rows.Count; i++)
    {
    code = data.Rows[i]["Code"].ToString().Trim();
    tenSP = data.Rows[i]["TenSP"].ToString().Trim();
    mota = data.Rows[i]["Mota"].ToString().Trim();
    Hongha.ButvietDataTable a = adapter.GetDataBy(code);
    if (a == null || a.Rows.Count == 0)
    {
    adapter.InsertButviet(code, tenSP, mota);
    }
    else
    {
    adapter.UpdateInfoByCode(tenSP, mota, code);
    }
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString());
    }
    MessageBox.Show("Kết thúc quá trình Import");
    }
    private void ShowData()
    {
    HonghaTableAdapters.ButvietTableAdapter adapter = new HonghaTableAdapters.ButvietTableAdapter();
    dvgButviet.DataSource = adapter.GetData();
    }
    }
    }
    Em cho debug thì chạy lần đầu, toàn báo lỗi ở đoạn mở kết nối, lần chạy thứ 2 thì đơ luôn máy! Mọi người giúp mình với!
    Bạn dùng OleDbConnection nhưng chưa truyền connectionString vào.
    Tutorial ở đây:
    http://msdn.microsoft.com/en-us/libr...(v=vs.71).aspx
    Bạn đọc kĩ Example của C# chỗ dùng OleDbConnection nhé, họ có truyền connectionString vào nữa.

Các đề tài tương tự

  1. tại sao code C ++ không chạy giúp em với
    Gửi bởi huunhanit trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 27-02-2013, 02:32 PM
  2. Lập trình C mọi người ơi xem giúp hộ em cái code này sai chỗ nào mà nó ko chạy đc
    Gửi bởi asutaka trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 01-09-2012, 05:59 PM
  3. Giúp mình chạy bằng tay đoạn code này với. Càng chi tiết càng tốt. Thanks!!!
    Gửi bởi lephithang trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 09-04-2011, 07:09 PM
  4. chạy tay code cây AVL. Giúp em?
    Gửi bởi chuong01 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 28-01-2010, 11:35 AM
  5. Code kiểm tra dãy cấp số cộng bằng C. Kiểm tra giúp mình xem chạy đúng không?
    Gửi bởi rong3sao trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 7
    Bài viết cuối: 11-04-2009, 09:25 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn