?? tdatarset.cs
字號:
using System;
namespace _lib
{
/// <summary>
/// 單數據基類。
/// 作者:張寧
/// 建立:2004.9.23
/// </summary>
/// download from www.51aspx.com(51aspx.com)
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 + -