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

Đề tài: Dung lượng tăng gấp đôi khi ghi đè file trên SaveFileDialog?

  1. #1
    Ngày gia nhập
    04 2011
    Bài viết
    14

    Mặc định Dung lượng tăng gấp đôi khi ghi đè file trên SaveFileDialog?

    Vấn đề mình gặp phải là khi mình lưu file CSDL ra ổ đĩa rôi (Ví dụ file backup.bak trên ổ đĩa D:\ chẳng hạn). Sau đó mình tiếp tục thực hiện save file với tên backup.bak cũng trên ổ đĩa D:\ thì Windows sẽ hỏi có đồng ý ghi đè không (tất nhiên rồi đúng không), nhưng khi mình chọn OK thì chương trình vẫn thực hiện được tuy nhiên mình đã vướng vào 1 vấn đề là file backup.bak sau khi ghi đè có dung lượng gấp đôi file backup.bak ban đầu.
    đây là code của mình

    Code:
            private void menuBackup_Click(object sender, EventArgs e)
            {
                SaveFileDialog saveFDL = new SaveFileDialog();
                saveFDL.Filter = "BAK file|*.bak|SQL Server 2008|*.mdf";
                saveFDL.Title = "Sao lưu dữ liệu đến...";
                saveFDL.AddExtension = true;
                saveFDL.InitialDirectory = @"D:\";
                saveFDL.RestoreDirectory = true;
                saveFDL.DefaultExt = "*.bak";
                saveFDL.FilterIndex = 2;
                //saveFDL.CheckFileExists = true;
                    //saveFDL.CheckPathExists = true;
                if (saveFDL.ShowDialog() == DialogResult.OK)
                {
                    string Dir = saveFDL.FileName;
                    try
                    {
                        string bakup_db = @"BACKUP DATABASE " + bien.database_name + " TO DISK = '" + Dir + @"' ";
                        SqlConnection sqlcon = new SqlConnection(strConn);
                        sqlcon.Open();
                        SqlCommand sqlCom = new SqlCommand(bakup_db, sqlcon);
                        sqlCom.ExecuteNonQuery();
                        MessageBox.Show("Sao lưu dữ liệu thành công.", "Sao lưu dữ liệu", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        sqlcon.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Lỗi: " + ex.Message, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
    Các bạn xem và giúp mình nhé. Thanks các bạn nhìu

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Đây không phải là vấn đề của save dialog đâu ban nhé.

    lệnh BACKUP Database bạn cần chỉ định chế độ là OVERWRITE hay APPEND.
    Mặc định nó là append nên sẽ ghi them vào cuối file bak.
    CHỉ định chế độ OVERWRITE bằng option INIT, APPEND bằng optin NOINIT
    Bạn tra cứu thêm về câu lệnh BACKUP ở đây nhé :http://msdn.microsoft.com/en-us/library/ms186865.aspx

  3. #3
    Ngày gia nhập
    04 2011
    Bài viết
    14

    Mình cám ơn bạn. Mình sẽ thử lại.Thanks

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

  1. Mở và tìm kiếm trên file dung lượng lớn thì làm thế nào?
    Gửi bởi chuot chui trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 9
    Bài viết cuối: 06-08-2012, 12:03 PM
  2. Kỹ thuật C++ Xác định dung lượng file lớn trên 2GB như thế nào?
    Gửi bởi mvmanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-11-2011, 09:02 PM
  3. Làm sao biết dung lượng của 1 file trên Websever ?
    Gửi bởi nam_dkn trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 24-05-2011, 10:26 AM
  4. Lỗi code tạo file backup CSDL và savefiledialog
    Gửi bởi anhpt86 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 22-09-2010, 09:09 AM
  5. Hiện nội dung file trên form theo khuông dạng
    Gửi bởi 123pro trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 13-07-2010, 01:33 PM

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