1.数据集基类
代码如下
///
/// 数据集基类
///
///
public abstract class BaseTB
where T : class
{
private static string _TextFile = Path.Combine(ConfigurationManager.AppSettings["TextDBDir"], typeof(T).Name + "TB.txt");
private static List
///
/// 数据容器
///
internal static List
{
get
{
if (_data == null)
{
if (File.Exists(_TextFile))
{
_data = JsonHelper.Deserialize>(File.ReadAllText(_TextFile));
}
else
{
_data = new List
}
}
return _data;
}
}
///
/// 获取记录
///
///
///
public abstract T Get(T obj);
///
/// 属性复制
///
///
///
public abstract void Copy(T obj1, T obj2);
///
/// 添加记录
///
///
///
public bool Add(T obj)
{
bool result = false;
T item = Get(obj);
if (item == null)
{
Container.Add(obj);
Save();
result = true;
}
return result;
}
///
/// 更新记录
///
///
///
public bool Update(T obj)
{
bool result = false;
T item = Get(obj);
if (item != null)
{
Copy(item, obj);
Save();
result = true;
}
return result;
}
///
/// 删除记录
///
///
///
public bool Remove(T obj)
{
bool result = false;
T item = Get(obj);
if (item != null)
{
Container.Remove(item);
Save();
result = true;
}
return result;
}
///
/// 保存数据
///
internal void Save()
{
File.WriteAllText(_TextFile, JsonHelper.Serialize(Container));
}
}
2.实体及数据集类
代码如下
///
/// 实体类
///
public class User
{
public string Usn { get; set; }
public string Pwd { get; set; }
}
///
/// 数据集
///
public class UserTB : BaseTB
{
#region 实现父类方法
///
/// 获取对象
///
///
///
public override User Get(User user)
{
return Get(user.Usn);
}
///
/// 属性复制
///
///
///
public override void Copy(User user1, User user2)
{
user1.Usn = user2.Usn;
user1.Pwd = user2.Pwd;
}
#endregion
///
/// 获取对象
///
///
///
public User Get(string usn)
{
User result = null;
foreach (User item in Container)
{
if (item.Usn.ToLower() == usn.ToLower())
{
result = item;
break;
}
}
return result;
}
///
/// 删除记录
///
///
public void Remove(string usn)
{
User user = new User() { Usn = usn };
Remove(user);
}
}
3.数据库类
代码如下
///
/// 数据库
///
public static class Database
{
///
/// 初始化
///
static Database()
{
if (!Directory.Exists(ConfigurationManager.AppSettings["TextDBDir"]))
{
Directory.CreateDirectory(ConfigurationManager.AppSettings["TextDBDir"]);
}
}
private static UserTB _usertb;
///
///
///
public static UserTB UserTB
{
get
{
if (_usertb == null)
{
_usertb = new UserTB();
}
return _usertb;
}
}
}
调用示例
代码如下 User user = new User() { Usn = "dnawo", Pwd = "666666" };
Database.UserTB.Add(user);
user.Pwd = "999999";
Database.UserTB.Update(user);
这样在txt文件中是存储按行以tab分开的数据存储格式了,所以这样也方便它来查找数据了哦。
asp.net core_asp.net C#用文本文件做数据库的例子
http://m.bbyears.com/wangyetexiao/56657.html
推荐访问: