这是不好意思,前几天突然机子坏掉了,我的源程序不知道哪里去了?(大概自己溜走了) 下边的是我现写的(beta1的,不过beta2稍加修改就可以了,ado.net连接国是其他的照样稍加修改就可以了),里面的功能少了很多(暂时来不及了)::: namespace WhitenShen { using System; using System.Data; using System.Data.SQL; /// <summary> /// PURPOSE: A generic database access class for SQL server 7.0 / 2000 /// FILEREV: 9/1/2001 - initial version /// CODE BY: Whiten Shen /// Mail to: [email protected] /// OICQ : 6671258 /// </summary> public class SQLService { /// <summary> /// A string variable to store connection string /// </summary> private string m_ConnectionString; /// <summary> /// A SQlConnection object for database access /// </summary> private SQLConnection m_Connection; /// <summary> /// A string variable to store SQL Message if necessary /// </summary> private string m_Message = "";
/// <summary> /// A string variable to store Database /// </summary> private string m_Database; /// <summary> /// Property to get/set connection string /// Connection string can also be set via the overloaded constructor /// </summary> public string ConnectionString { get { return this.m_ConnectionString; } set { this.m_ConnectionString = value; } } /// <summary> /// Property to get/set SQL connection /// SQL Connection can also be set /// </summary> public SQLConnection Connection { get { return this.m_Connection; } set { this.m_Connection = value; } } /// <summary> /// Property to get SQL Message /// SQL Message can only be get if necessary /// </summary> public string Message { get { return this.m_Message; } }
/// <summary> /// Property to Database /// </summary> public string Database { get { return this.m_Database; } set { this.m_Database = value; } } /// <summary> /// Default constructor /// </summary> public SQLService() { } /// <summary> /// An overloaded constructor for setting connection string /// </summary> /// <param name="ConnectionString">Example: "server=WHITEN;uid=sa;pwd=admin;database=WhitenShen"</param> public SQLService(string ConnectionString) { this.m_ConnectionString = ConnectionString; } public void SelectDataBase(string DataBase) { this.m_Database = DataBase; } /// <summary> /// Opens a connection, throws an exception if errors occur. /// </summary> /// <returns>System.Data.Sql.SqlConnection</returns> public SQLConnection StartSQLService() { if(this.m_Connection == null) { if(this.m_ConnectionString == null || this.m_ConnectionString.Length == 0) { this.m_ConnectionString = "server=WHITEN;uid=sa;password=admin;database=WhitenShen"; } try { this.m_Connection = new SQLConnection(this.m_ConnectionString); this.m_Connection.Open(); } catch(System.Exception e) { throw e; } } else if(this.m_Connection.State.ToString() != "1") { this.m_Connection.ConnectionString = this.m_ConnectionString; try { this.m_Connection.Open(); } catch(Exception e) { throw e; } } return this.m_Connection; } /// <summary> /// Get dataset by sql selection statement or stored procedure /// </summary> /// <param name="QueryString">Selection statement or stored procedure name with parameters</param> /// <param name="TableName">A table name such as "Customers"</param> /// <returns>A DataSet contains data or null</returns> public DataSet SelectSQLData(string QueryString, string TableName, bool MustClose) { DataSet ds = new DataSet(); SQLDataSetCommand dsComm = new SQLDataSetCommand(); try { dsComm.SelectCommand = new SQLCommand(QueryString, this.StartSQLService()); if(TableName.Trim().Length > 0) { dsComm.FillDataSet(ds, TableName); } else { dsComm.FillDataSet(ds); } } catch(System.Exception e) { throw e; } finally { if(MustClose == true) { this.CloseSQLService(); } } return ds; } /// <summary> /// An overloaded methods without MustClose, the connection will remain open /// </summary> /// <param name="QueryString">See method being overloaded</param> /// <returns>See method being overloaded</returns> public DataSet SelectSQLData(string QueryString, string TableName) { return this.SelectSQLData(QueryString, TableName, false); } /// <summary> /// An overloaded methods without table name /// </summary> /// <param name="QueryString">See method being overloaded</param> /// <returns>See method being overloaded</returns> public DataSet SelectSQLData(string QueryString) { return this.SelectSQLData(QueryString , "", false); } /// <summary> /// Insert data using sql statement or call a store procedure /// </summary> /// <param name="InsertString">a sql statement or stored procedure name with parameters</param> public void InsertSQLData(string InsertString, bool MustClose) { SQLDataSetCommand dsComm = new SQLDataSetCommand(); try { dsComm.InsertCommand = new SQLCommand(InsertString, this.StartSQLService()); dsComm.InsertCommand.ExecuteNonQuery(); } catch(Exception e) { throw e; } finally { if(MustClose == true) { this.CloseSQLService(); } } } /// <summary> /// An overloaded function /// </summary> /// <param name="InsertString"></param> /// <param name="MustClose"></param> public void InsertSQLData(string InsertString) { this.InsertSQLData(InsertString, false); } /// <summary> /// A function to delete date /// </summary> /// <param name="DeleteString">sql detele statement or stored procedure</param> public void DeleteSQLData(string DeleteString, bool MustClose) { SQLDataSetCommand dsComm = new SQLDataSetCommand(); try { dsComm.DeleteCommand = new SQLCommand(DeleteString, this.StartSQLService()); dsComm.DeleteCommand.ExecuteNonQuery(); } catch(Exception e) { throw e; } finally { if(MustClose == true) { this.CloseSQLService(); } } } /// <summary> /// An overloaded function /// </summary> /// <param name="DeleteString"></param> /// <param name="MustClose"></param> public void DeleteSQLData(string DeleteString) { this.DeleteSQLData(DeleteString, false); } /// <summary> /// To update sql database using sql statement or stored procedure /// </summary> /// <param name="UpdateString">SQL statement or stored procedure</param> /// <param name="MustClose">Close connection if true</param> public void UpdateSQLData(string UpdateString, bool MustClose) { SQLDataSetCommand dsComm = new SQLDataSetCommand(); try { dsComm.UpdateCommand = new SQLCommand(UpdateString, this.StartSQLService()); dsComm.UpdateCommand.ExecuteNonQuery(); } catch(Exception e) { throw e; } finally { if(MustClose == true) { this.CloseSQLService(); } } } /// <summary> /// An overloaded method, leaving connection open /// </summary> /// <param name="UpdateString">See overloaded function</param> public void UpdateSQLData(string UpdateString) { this.UpdateSQLData(UpdateString, false); } /// <summary> /// A destructor to close connection if any /// </summary> ~SQLService() { this.CloseSQLService(); } /// <summary> /// Close connection if any, then set m_Connection to null /// </summary> public void CloseSQLService() { if(this.m_Connection != null) { if(this.m_Connection.State.ToString() == "1") { this.m_Connection.Close(); } this.m_Connection = null; } } } }
算我一份,THX!
下边的是我现写的(beta1的,不过beta2稍加修改就可以了,ado.net连接国是其他的照样稍加修改就可以了),里面的功能少了很多(暂时来不及了):::
namespace WhitenShen
{
using System;
using System.Data;
using System.Data.SQL; /// <summary>
/// PURPOSE: A generic database access class for SQL server 7.0 / 2000
/// FILEREV: 9/1/2001 - initial version
/// CODE BY: Whiten Shen
/// Mail to: [email protected]
/// OICQ : 6671258
/// </summary>
public class SQLService
{
/// <summary>
/// A string variable to store connection string
/// </summary>
private string m_ConnectionString;
/// <summary>
/// A SQlConnection object for database access
/// </summary>
private SQLConnection m_Connection; /// <summary>
/// A string variable to store SQL Message if necessary
/// </summary>
private string m_Message = "";
/// <summary>
/// A string variable to store Database
/// </summary>
private string m_Database; /// <summary>
/// Property to get/set connection string
/// Connection string can also be set via the overloaded constructor
/// </summary>
public string ConnectionString
{
get
{
return this.m_ConnectionString;
}
set
{
this.m_ConnectionString = value;
}
} /// <summary>
/// Property to get/set SQL connection
/// SQL Connection can also be set
/// </summary>
public SQLConnection Connection
{
get
{
return this.m_Connection;
}
set
{
this.m_Connection = value;
}
} /// <summary>
/// Property to get SQL Message
/// SQL Message can only be get if necessary
/// </summary>
public string Message
{
get
{
return this.m_Message;
}
}
/// <summary>
/// Property to Database
/// </summary>
public string Database
{
get
{
return this.m_Database;
}
set
{
this.m_Database = value;
}
} /// <summary>
/// Default constructor
/// </summary>
public SQLService()
{
} /// <summary>
/// An overloaded constructor for setting connection string
/// </summary>
/// <param name="ConnectionString">Example: "server=WHITEN;uid=sa;pwd=admin;database=WhitenShen"</param>
public SQLService(string ConnectionString)
{
this.m_ConnectionString = ConnectionString;
}
public void SelectDataBase(string DataBase)
{
this.m_Database = DataBase;
}
/// <summary>
/// Opens a connection, throws an exception if errors occur.
/// </summary>
/// <returns>System.Data.Sql.SqlConnection</returns>
public SQLConnection StartSQLService()
{
if(this.m_Connection == null)
{
if(this.m_ConnectionString == null || this.m_ConnectionString.Length == 0)
{
this.m_ConnectionString = "server=WHITEN;uid=sa;password=admin;database=WhitenShen";
} try
{
this.m_Connection = new SQLConnection(this.m_ConnectionString);
this.m_Connection.Open();
}
catch(System.Exception e)
{
throw e;
}
}
else if(this.m_Connection.State.ToString() != "1")
{
this.m_Connection.ConnectionString = this.m_ConnectionString; try
{
this.m_Connection.Open();
}
catch(Exception e)
{
throw e;
}
} return this.m_Connection;
}
/// <summary>
/// Get dataset by sql selection statement or stored procedure
/// </summary>
/// <param name="QueryString">Selection statement or stored procedure name with parameters</param>
/// <param name="TableName">A table name such as "Customers"</param>
/// <returns>A DataSet contains data or null</returns>
public DataSet SelectSQLData(string QueryString, string TableName, bool MustClose)
{
DataSet ds = new DataSet();
SQLDataSetCommand dsComm = new SQLDataSetCommand(); try
{
dsComm.SelectCommand = new SQLCommand(QueryString, this.StartSQLService());
if(TableName.Trim().Length > 0)
{
dsComm.FillDataSet(ds, TableName);
}
else
{
dsComm.FillDataSet(ds);
}
}
catch(System.Exception e)
{
throw e;
}
finally
{
if(MustClose == true)
{
this.CloseSQLService();
}
} return ds;
} /// <summary>
/// An overloaded methods without MustClose, the connection will remain open
/// </summary>
/// <param name="QueryString">See method being overloaded</param>
/// <returns>See method being overloaded</returns>
public DataSet SelectSQLData(string QueryString, string TableName)
{
return this.SelectSQLData(QueryString, TableName, false);
} /// <summary>
/// An overloaded methods without table name
/// </summary>
/// <param name="QueryString">See method being overloaded</param>
/// <returns>See method being overloaded</returns>
public DataSet SelectSQLData(string QueryString)
{
return this.SelectSQLData(QueryString , "", false);
}
/// <summary>
/// Insert data using sql statement or call a store procedure
/// </summary>
/// <param name="InsertString">a sql statement or stored procedure name with parameters</param>
public void InsertSQLData(string InsertString, bool MustClose)
{
SQLDataSetCommand dsComm = new SQLDataSetCommand(); try
{
dsComm.InsertCommand = new SQLCommand(InsertString, this.StartSQLService());
dsComm.InsertCommand.ExecuteNonQuery();
}
catch(Exception e)
{
throw e;
}
finally
{
if(MustClose == true)
{
this.CloseSQLService();
}
}
} /// <summary>
/// An overloaded function
/// </summary>
/// <param name="InsertString"></param>
/// <param name="MustClose"></param>
public void InsertSQLData(string InsertString)
{
this.InsertSQLData(InsertString, false);
}
/// <summary>
/// A function to delete date
/// </summary>
/// <param name="DeleteString">sql detele statement or stored procedure</param>
public void DeleteSQLData(string DeleteString, bool MustClose)
{
SQLDataSetCommand dsComm = new SQLDataSetCommand(); try
{
dsComm.DeleteCommand = new SQLCommand(DeleteString, this.StartSQLService());
dsComm.DeleteCommand.ExecuteNonQuery();
}
catch(Exception e)
{
throw e;
}
finally
{
if(MustClose == true)
{
this.CloseSQLService();
}
}
} /// <summary>
/// An overloaded function
/// </summary>
/// <param name="DeleteString"></param>
/// <param name="MustClose"></param>
public void DeleteSQLData(string DeleteString)
{
this.DeleteSQLData(DeleteString, false);
}
/// <summary>
/// To update sql database using sql statement or stored procedure
/// </summary>
/// <param name="UpdateString">SQL statement or stored procedure</param>
/// <param name="MustClose">Close connection if true</param>
public void UpdateSQLData(string UpdateString, bool MustClose)
{
SQLDataSetCommand dsComm = new SQLDataSetCommand(); try
{
dsComm.UpdateCommand = new SQLCommand(UpdateString, this.StartSQLService());
dsComm.UpdateCommand.ExecuteNonQuery();
}
catch(Exception e)
{
throw e;
}
finally
{
if(MustClose == true)
{
this.CloseSQLService();
}
}
} /// <summary>
/// An overloaded method, leaving connection open
/// </summary>
/// <param name="UpdateString">See overloaded function</param>
public void UpdateSQLData(string UpdateString)
{
this.UpdateSQLData(UpdateString, false);
}
/// <summary>
/// A destructor to close connection if any
/// </summary>
~SQLService()
{
this.CloseSQLService();
} /// <summary>
/// Close connection if any, then set m_Connection to null
/// </summary>
public void CloseSQLService()
{
if(this.m_Connection != null)
{
if(this.m_Connection.State.ToString() == "1")
{
this.m_Connection.Close();
}
this.m_Connection = null;
}
}
}
}