📄 tdatarset.cs
字号:
using System;
namespace _lib
{
/// <summary>
/// 单数据基类。
/// 作者:张宁
/// 建立:2004.9.23
/// </summary>
public abstract class TData
{
protected string FTableName; // 单数据-表名
protected string FKeyName; // 单数据-表主键
protected string FKeyValue; // 单数据-表主键值
/// <summary>
/// [构造] 无参数。
/// </summary>
public TData()
{
}
/// <summary>
/// [构造] 带全部重要参数。
/// </summary>
public TData(string TableName, string KeyName, string KeyValue)
{
FTableName = TableName;
FKeyName = KeyName;
FKeyValue = KeyValue;
}
/// <summary>
/// (静态)根据编号在数据库中删除记录。
/// </summary>
public static void DeleteByID(string ID, string TableName, string KeyName)
{
string strSql = "delete from "+TableName+" where "+KeyName+"='"+ID+"'";
TSqlDB.ExecuteNonQuery(strSql);
}
#region 四个基本数据操作,需要由子类重新实现的方法
/// <summary>
/// 在数据库中检索记录(需要由子类实现的方法)。
/// </summary>
public abstract void Select();
/// <summary>
/// 在数据库中删除记录。
/// </summary>
public void Delete()
{
string strSql = GetDeleteString();
TSqlDB.ExecuteNonQuery(strSql);
}
/// <summary>
/// 在数据库中插入记录。
/// </summary>
protected void Insert(string ExSql)
{
string strSql = GetInsertString(ExSql);
TSqlDB.ExecuteNonQuery(strSql);
}
/// <summary>
/// 在数据库中更新记录。
/// </summary>
protected void Update(string ExSql)
{
string strSql = GetUpdateString(ExSql);
TSqlDB.ExecuteNonQuery(strSql);
}
/// <summary>
/// 组合Select查询串。
/// </summary>
protected string GetSelectString()
{
return "select top 1 * from "+FTableName+" where "+FKeyName+"='"+FKeyValue+"'";
}
/// <summary>
/// 组合Insert查询串。
/// </summary>
protected string GetInsertString(string ExSql)
{
return "insert into "+FTableName+" values("+ExSql+")";
}
/// <summary>
/// 组合Update查询串。
/// </summary>
protected string GetUpdateString(string ExSql)
{
return "update "+FTableName+" set "+ExSql+" where "+FKeyName+"='"+FKeyValue+"'";
}
/// <summary>
/// 组合Delete查询串。
/// </summary>
protected string GetDeleteString()
{
return "delete from "+FTableName+" where "+FKeyName+"='"+FKeyValue+"'";
}
#endregion
#region 属性定义(可以被子类重载),没有用
/*
public virtual string TableName
{
get
{
return FTableName;
}
}
public virtual string KeyName
{
get
{
return FKeyName;
}
}
public virtual string KeyValue
{
get
{
return FKeyValue;
}
set
{
value = FKeyValue;
}
}
*/
#endregion
}
/// <summary>
/// TDataRset 数据集基类。
/// 作者:张宁
/// 建立:2004.9.21
/// </summary>
public abstract class TDataRset
{
protected string FTableName; // 数据集-表名
protected string FKeyName; // 数据集-表主键
protected string FKeyValue; // 数据集-表主键值
protected int FTopSum; // 数据集-取得数据的条数
protected string FSqlWhere=""; // SQL - Where
protected string FSqlOrderBy=""; // SQL - Order By
private TSqlDB FInnerDB;
//private System.Data.DataView FDataView;
/// <summary>
/// [构造] 无参数。
/// </summary>
public TDataRset()
{
FInnerDB = new TSqlDB();
//FDataView = new System.Data.DataView();
}
/// <summary>
/// [构造] 带全部重要参数。
/// </summary>
public TDataRset(string TableName, string KeyName, string KeyValue)
{
FInnerDB = new TSqlDB();
//FDataView = new System.Data.DataView();
this.FTableName = TableName;
this.FKeyName = KeyName;
this.FKeyValue = KeyValue;
}
#region 公有属性
public string SqlWhere
{
get
{
return FSqlWhere;
}
set
{
FSqlWhere= value;
}
}
public string SqlOrderBy
{
get
{
return FSqlOrderBy;
}
set
{
FSqlOrderBy= value;
}
}
public int TopSum
{
get
{
return FTopSum;
}
set
{
FTopSum= value;
}
}
public System.Data.DataView DataSource
{
get
{
return FInnerDB.DataSource;
}
}
#endregion
/// <summary>
/// 拼接SQL查询串并装载数据集(允许派生类重写)
/// </summary>
public virtual void Load()
{
string strSql;
if (FTopSum==0) // 如果值为0则取全部数据,否则用top语句来限制返回条数
strSql = "select * from "+FTableName;
else
strSql = "select top "+FTopSum+" * from "+FTableName;
if (this.FSqlWhere.Length>0)
strSql += " where "+FSqlWhere;
if (this.FSqlOrderBy.Length>0)
strSql += " order by "+FSqlOrderBy;
FInnerDB.OpenRset(strSql);
}
/// <summary>
/// 装载数据集,限制条数
/// </summary>
public void LoadWith(int ResultSum)
{
this.FTopSum = ResultSum;
this.Load();
}
/// <summary>
/// 根据提供的过滤条件和排序条件来装载数据集
/// </summary>
public void LoadWith(string SqlWhere, string SqlOrderBy)
{
FSqlWhere = SqlWhere;
FSqlOrderBy = SqlOrderBy;
this.Load();
}
/// <summary>
/// 根据提供的过滤条件和排序条件来装载数据集,限制条数
/// </summary>
public void LoadWith(int ResultSum, string SqlWhere, string SqlOrderBy)
{
this.FTopSum = ResultSum;
this.LoadWith(SqlWhere,SqlOrderBy);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -