Trong C# winforms, bạn dùng BindingDataSource là có thể đáp ứng các yêu cầu của bạn.
Bạn cần tạo một lớp DAO (Data Access Object) gồm các thuộc tính của đối tượng bạn muốn lưu ra file, sau đó gán các giá trị cho các thuộc tính đó. File lưu lại các thuộc tính dưới dạng XML, và khi đọc, thêm, sửa, xóa nó sẽ làm việc với file xml đó bằng việc map các thuộc tính của đối tượng và trong file.
Ví dụ về class và file .xml mình nói trong bài:
File .cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HDCG.Object
{
public class Video
{
public int Layer { get; set; }
public string VideoPath { get; set; }
public bool Loop { get; set; }
}
}
File xml:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfVideo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Video>
<Layer>100</Layer>
<VideoPath>logo1.tga</VideoPath>
<Loop>false</Loop>
</Video>
<Video>
<Layer>100</Layer>
<VideoPath>youtv_logo_popup [70 px].mov</VideoPath>
<Loop>false</Loop>
</Video>
</ArrayOfVideo>
Tất cả đều đồng ý ngoài câu này của @superthin, đẻ ra database ko hẳn là cung cấp phương tiện cho việc đọc ghi thuận tiện hơn đâu, thực tế là phức tạp hơn đấy chứ, còn phải connect, rồi query này nọ. Chỉ là nó phù hợp với các cơ sở dữ liệu lớn và có quan hệ phức tạp với nhau, cộng với việc flexible và cho phép nhiều thằng dùng cùng lúc mà ko gây xung đột thôi.