不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C#用文本文件做数据库示例
编辑:dnawo 日期:2014-08-22
1.数据集基类
2.实体及数据集类
3.数据库类
调用示例
复制内容到剪贴板 程序代码
/// <summary>
/// 数据集基类
/// </summary>
/// <typeparam name="T"></typeparam>
public abstract class BaseTB<T>
where T : class
{
private static string _TextFile = Path.Combine(ConfigurationManager.AppSettings["TextDBDir"], typeof(T).Name + "TB.txt");
private static List<T> _data = null;
/// <summary>
/// 数据容器
/// </summary>
internal static List<T> Container
{
get
{
if (_data == null)
{
if (File.Exists(_TextFile))
{
_data = JsonHelper.Deserialize<List<T>>(File.ReadAllText(_TextFile));
}
else
{
_data = new List<T>();
}
}
return _data;
}
}
/// <summary>
/// 获取记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public abstract T Get(T obj);
/// <summary>
/// 属性复制
/// </summary>
/// <param name="obj1"></param>
/// <param name="obj2"></param>
public abstract void Copy(T obj1, T obj2);
/// <summary>
/// 添加记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool Add(T obj)
{
bool result = false;
T item = Get(obj);
if (item == null)
{
Container.Add(obj);
Save();
result = true;
}
return result;
}
/// <summary>
/// 更新记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool Update(T obj)
{
bool result = false;
T item = Get(obj);
if (item != null)
{
Copy(item, obj);
Save();
result = true;
}
return result;
}
/// <summary>
/// 删除记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool Remove(T obj)
{
bool result = false;
T item = Get(obj);
if (item != null)
{
Container.Remove(item);
Save();
result = true;
}
return result;
}
/// <summary>
/// 保存数据
/// </summary>
internal void Save()
{
File.WriteAllText(_TextFile, JsonHelper.Serialize(Container));
}
}
/// 数据集基类
/// </summary>
/// <typeparam name="T"></typeparam>
public abstract class BaseTB<T>
where T : class
{
private static string _TextFile = Path.Combine(ConfigurationManager.AppSettings["TextDBDir"], typeof(T).Name + "TB.txt");
private static List<T> _data = null;
/// <summary>
/// 数据容器
/// </summary>
internal static List<T> Container
{
get
{
if (_data == null)
{
if (File.Exists(_TextFile))
{
_data = JsonHelper.Deserialize<List<T>>(File.ReadAllText(_TextFile));
}
else
{
_data = new List<T>();
}
}
return _data;
}
}
/// <summary>
/// 获取记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public abstract T Get(T obj);
/// <summary>
/// 属性复制
/// </summary>
/// <param name="obj1"></param>
/// <param name="obj2"></param>
public abstract void Copy(T obj1, T obj2);
/// <summary>
/// 添加记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool Add(T obj)
{
bool result = false;
T item = Get(obj);
if (item == null)
{
Container.Add(obj);
Save();
result = true;
}
return result;
}
/// <summary>
/// 更新记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool Update(T obj)
{
bool result = false;
T item = Get(obj);
if (item != null)
{
Copy(item, obj);
Save();
result = true;
}
return result;
}
/// <summary>
/// 删除记录
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool Remove(T obj)
{
bool result = false;
T item = Get(obj);
if (item != null)
{
Container.Remove(item);
Save();
result = true;
}
return result;
}
/// <summary>
/// 保存数据
/// </summary>
internal void Save()
{
File.WriteAllText(_TextFile, JsonHelper.Serialize(Container));
}
}
2.实体及数据集类
复制内容到剪贴板 程序代码
/// <summary>
/// 实体类
/// </summary>
public class User
{
public string Usn { get; set; }
public string Pwd { get; set; }
}
/// <summary>
/// 数据集
/// </summary>
public class UserTB : BaseTB<User>
{
#region 实现父类方法
/// <summary>
/// 获取对象
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
public override User Get(User user)
{
return Get(user.Usn);
}
/// <summary>
/// 属性复制
/// </summary>
/// <param name="user1"></param>
/// <param name="user2"></param>
public override void Copy(User user1, User user2)
{
user1.Usn = user2.Usn;
user1.Pwd = user2.Pwd;
}
#endregion
/// <summary>
/// 获取对象
/// </summary>
/// <param name="usn"></param>
/// <returns></returns>
public User Get(string usn)
{
User result = null;
foreach (User item in Container)
{
if (item.Usn.ToLower() == usn.ToLower())
{
result = item;
break;
}
}
return result;
}
/// <summary>
/// 删除记录
/// </summary>
/// <param name="usn"></param>
public void Remove(string usn)
{
User user = new User() { Usn = usn };
Remove(user);
}
}
/// 实体类
/// </summary>
public class User
{
public string Usn { get; set; }
public string Pwd { get; set; }
}
/// <summary>
/// 数据集
/// </summary>
public class UserTB : BaseTB<User>
{
#region 实现父类方法
/// <summary>
/// 获取对象
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
public override User Get(User user)
{
return Get(user.Usn);
}
/// <summary>
/// 属性复制
/// </summary>
/// <param name="user1"></param>
/// <param name="user2"></param>
public override void Copy(User user1, User user2)
{
user1.Usn = user2.Usn;
user1.Pwd = user2.Pwd;
}
#endregion
/// <summary>
/// 获取对象
/// </summary>
/// <param name="usn"></param>
/// <returns></returns>
public User Get(string usn)
{
User result = null;
foreach (User item in Container)
{
if (item.Usn.ToLower() == usn.ToLower())
{
result = item;
break;
}
}
return result;
}
/// <summary>
/// 删除记录
/// </summary>
/// <param name="usn"></param>
public void Remove(string usn)
{
User user = new User() { Usn = usn };
Remove(user);
}
}
3.数据库类
复制内容到剪贴板 程序代码
/// <summary>
/// 数据库
/// </summary>
public static class Database
{
/// <summary>
/// 初始化
/// </summary>
static Database()
{
if (!Directory.Exists(ConfigurationManager.AppSettings["TextDBDir"]))
{
Directory.CreateDirectory(ConfigurationManager.AppSettings["TextDBDir"]);
}
}
private static UserTB _usertb;
/// <summary>
/// UserTB
/// </summary>
public static UserTB UserTB
{
get
{
if (_usertb == null)
{
_usertb = new UserTB();
}
return _usertb;
}
}
}
/// 数据库
/// </summary>
public static class Database
{
/// <summary>
/// 初始化
/// </summary>
static Database()
{
if (!Directory.Exists(ConfigurationManager.AppSettings["TextDBDir"]))
{
Directory.CreateDirectory(ConfigurationManager.AppSettings["TextDBDir"]);
}
}
private static UserTB _usertb;
/// <summary>
/// UserTB
/// </summary>
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);
Database.UserTB.Add(user);
user.Pwd = "999999";
Database.UserTB.Update(user);
上一篇: HTTP缓存头Last-Modified和ETag
下一篇: VMware访问物理机文件之共享文件夹
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
下一篇: VMware访问物理机文件之共享文件夹
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 3304
发表评论
请登录后再发表评论!