C# - Tìm kiếm dữ liệu giống nhau giữa 2 files

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi Nha_Phuong, 10/6/14.

  1. Nha_Phuong

    Nha_Phuong Mr & Ms Pac-Man

    Tham gia ngày:
    21/2/07
    Bài viết:
    151
    Chào các bạn,

    Mong các bạn cố vấn giùm mình về lập trình C Sharp.
    Mình hiện đang có 2 files:
    1_ Master file - chứa toàn bộ thông tin của khách hàng
    2_ Weekly file - chứa những khách hàng trong tuần

    Nếu những khách hàng trong tuần đã tồn tại trong Master thì sẽ lưu vào 1 file khác, còn không thì lưu vào danh bạ mới. Và sau đây là dòng lệnh mình đang làm nhưng có chút rắc rối.

    Ví dụ trong file mình có:
    File 1 - Master:
    kh1 Nguyen Van A
    kh2 Nguyen Thi B
    kh3 Tran Van A
    kh4 Tran Van B

    File 2 - Weekly:
    kh1 Nguyen Van A
    kh2 Nguyen Tran
    kh3 Nguyen Nguyen
    kh4 Tran Thi D

    Thì nên output ra:
    File 3 - Exist:
    kh1 Nguyen Van A

    File 4 - Unknown:
    kh2 Nguyen Tran
    kh3 Nguyen Nguyen
    kh4 Tran Thi D

    Và sau đây là code của mình:

    string file1 = @"C:\Users\Weekly.csv";
    string file2 = @"C:\Users\Master.csv";

    var reader = new StreamReader(File.OpenRead(file1));

    // File 1 Reader
    List<Customer> WeeklyList= new List<Customer>();
    while (!reader.EndOfStream)
    {
    var line = reader.ReadLine();
    var values = line.Split(',');
    Customer c = new Customer() { FirstName = values[0], LastName = values[1] };
    customerList.Add(c);
    }

    //Console.ReadLine();

    // File 2 Reader

    // Read File variable
    var readerFile2 = new StreamReader(File.OpenRead(file2));

    List<Customer> MasterList = new List<Customer>();
    while (!readerFile2.EndOfStream)
    {
    var line2 = readerFile2.ReadLine();
    var values = line2.Split(',');
    Customer cc = new Customer() { FirstName = values[0], LastName = values[1]};
    MasterList.Add(cc);
    }

    // Export file
    StringBuilder export = new StringBuilder();
    StringBuilder sb = new StringBuilder();

    string file3 = @"C:\Users\Exist.csv";
    string file4 = @"C:\Users\Unknown.csv";

    foreach (var testFile2 in Master)
    {
    // Find values between Master and Weekly
    foreach (var testFile1 in Weekly)
    {
    if (testFile1.FirstName + testFile1.LastName == testFile2.FirstName + testFile2.LastName)
    {
    export.AppendLine();
    File.WriteAllText(file3, export.ToString());
    }
    else
    {
    sb.AppendLine();
    File.WriteAllText(file4, sb.ToString());
    }
    }
    }

    Mong các bạn cố vấn cho mình, thanks nhiều.
     
  2. Nha_Phuong

    Nha_Phuong Mr & Ms Pac-Man

    Tham gia ngày:
    21/2/07
    Bài viết:
    151
    Mình đã giải quyết được vấn đề ở trên nhưng giờ muốn nâng cấp lập trình của mình.
    Bằng cách lưu trữ dữ liệu vào MYSQL rồi lấy dữ liệu ở đó.
    Mình muốn hỏi các bước cơ bản để có thể lưu trữ và cũng như đề xuất dữ liệu ở SQL qua C#.
    Mong có bạn giúp đỡ, thanks.
     
  3. Nha_Phuong

    Nha_Phuong Mr & Ms Pac-Man

    Tham gia ngày:
    21/2/07
    Bài viết:
    151
    Hallo Admin, mình đã giải quyết được hết vấn đề rồi, xin delete topic này giùm, thanks.
     

Chia sẻ trang này