数据访问层——表结构的封装
来源:互联网 发布:大连理工软件学院好吗 编辑:程序博客网 时间:2024/06/05 20:25
一个对记录类型数据的封装,类似表结构封装
调试环境:Visual Stdio 2005,C#.net
/// <summary>
/// 记录类型数据(表结构)
/// </summary>
public class DBRecordInfo
{
private IList<DBFieldInfo> fields;
protected string tableName;
protected string[] fieldNameItem;
public DBRecordInfo()
{
this.fields = new List<DBFieldInfo>();
GetTableMsg();
}
public DBRecordInfo(IList<DBFieldInfo> fields)
{
this.fields = fields;
GetTableMsg();
}
/// <summary>
/// 增加字段
/// </summary>
public bool Add(DBFieldInfo field)
{
try
{
this[field.FieldName] = field;
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 删除字段
/// </summary>
public bool Del(DBFieldInfo field)
{
try
{
fields.Remove(field);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 根据字段名访问字段
/// </summary>
public DBFieldInfo this[string fieldName]
{
get
{
foreach (DBFieldInfo infield in fields)
{
if (infield.FieldName == fieldName)
return infield;
}
return null;
}
set
{
for (int index = 0; fields != null && index < fields.Count; index++)
{
if (fields[index].FieldName == fieldName)
{
fields[index] = value;
return;
}
}
fields.Add(value);
}
}
/// <summary>
/// 根据索引访问字段
/// </summary>
public DBFieldInfo this[int index]
{
get
{
if (index < fields.Count)
return fields[index];
else
return null;
}
set
{
if (index < fields.Count)
fields[index] = value;
else
{
//throw new ArgumentOutOfRangeException();
}
}
}
/// <summary>
/// 字段个数,只读
/// </summary>
public int Length
{
get
{
if (fields == null)
return 0;
return fields.Count;
}
}
/// <summary>
/// 字段名称集合,只读属性
/// </summary>
public string[] FieldNameItem
{
get
{
return fieldNameItem;
}
}
/// <summary>
/// 表名称,只读属性
/// </summary>
public string TableName
{
get
{
return tableName;
}
}
/// <summary>
/// 获取表信息
/// 此处为构造临时表,子类可以重写此方法
/// </summary>
virtual protected void GetTableMsg()
{
tableName = "TempTable";
fieldNameItem = null;
}
}
调试环境:Visual Stdio 2005,C#.net
/// <summary>
/// 记录类型数据(表结构)
/// </summary>
public class DBRecordInfo
{
private IList<DBFieldInfo> fields;
protected string tableName;
protected string[] fieldNameItem;
public DBRecordInfo()
{
this.fields = new List<DBFieldInfo>();
GetTableMsg();
}
public DBRecordInfo(IList<DBFieldInfo> fields)
{
this.fields = fields;
GetTableMsg();
}
/// <summary>
/// 增加字段
/// </summary>
public bool Add(DBFieldInfo field)
{
try
{
this[field.FieldName] = field;
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 删除字段
/// </summary>
public bool Del(DBFieldInfo field)
{
try
{
fields.Remove(field);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 根据字段名访问字段
/// </summary>
public DBFieldInfo this[string fieldName]
{
get
{
foreach (DBFieldInfo infield in fields)
{
if (infield.FieldName == fieldName)
return infield;
}
return null;
}
set
{
for (int index = 0; fields != null && index < fields.Count; index++)
{
if (fields[index].FieldName == fieldName)
{
fields[index] = value;
return;
}
}
fields.Add(value);
}
}
/// <summary>
/// 根据索引访问字段
/// </summary>
public DBFieldInfo this[int index]
{
get
{
if (index < fields.Count)
return fields[index];
else
return null;
}
set
{
if (index < fields.Count)
fields[index] = value;
else
{
//throw new ArgumentOutOfRangeException();
}
}
}
/// <summary>
/// 字段个数,只读
/// </summary>
public int Length
{
get
{
if (fields == null)
return 0;
return fields.Count;
}
}
/// <summary>
/// 字段名称集合,只读属性
/// </summary>
public string[] FieldNameItem
{
get
{
return fieldNameItem;
}
}
/// <summary>
/// 表名称,只读属性
/// </summary>
public string TableName
{
get
{
return tableName;
}
}
/// <summary>
/// 获取表信息
/// 此处为构造临时表,子类可以重写此方法
/// </summary>
virtual protected void GetTableMsg()
{
tableName = "TempTable";
fieldNameItem = null;
}
}
- 数据访问层——表结构的封装
- 数据访问层——表操作的封装
- 数据访问层——字段的封装
- .net中的数据访问层的封装
- C++访问MySQL数据访问层封装
- 数据访问的封装
- 三层结构数据访问层代码
- TCP/IP的层次结构以及各层数据封装的过程 (一)
- Spring MVC控制层封装的数据在前台如何访问?
- 数据访问层的使用方法
- 数据访问层的设计
- 我的数据访问层
- 数据访问层的使用方法
- 数据访问层的设计
- 封装.Net数据访问层---羽量级Hibernate (连载一)
- java减少数据访问层代码—反射1—数据访问层Wrapper
- Sharp-ORM 自动将数据库封装成对象的生成器,三层数据访问结构
- DAO层数据操作的封装
- 监视线程
- css基础
- 静态数据管理
- android JNI 学习笔记
- 数据访问层——字段的封装
- 数据访问层——表结构的封装
- css的效率是怎么样的呢,浏览器渲染的速度又如何呢(css,html渲染效率)
- 数据访问层——表操作的封装
- 页面控制
- Java常量定义需要注意的两点
- 多线程非递归实现的树控件
- FLV转MPG和转成其它格式的转码方法
- MS SQL Server还原备份
- 在线管理