|
-
Jun 9th, 2004, 04:12 AM
#1
Thread Starter
Fanatic Member
Examples of OOP in practice ??
I am trying to get to grips with OOP using vb/asp.net and was wondering if anyone knows where I can get a hold of a simple project which makes use of the following :
Has some kind of dataclass which handles all database operations.
Some kind of business class which inherits from the above.
All it has to do is maybe write a record and read/search/update a record. I dont need some giant solution, just a simple example so I can pick up some of the required techniques.
I am sick of writing hacky code and want to be a code warrior hero.
p.s - I Luv U
-
Jun 9th, 2004, 11:15 AM
#2
Frenzied Member
base dataclass
Code:
/// <summary>
/// Summary description for SqlObject.
/// </summary>
[System.Serializable]
public abstract class SqlObject
{
public abstract void Delete();
/// <summary>
/// Load a serialization file saved with the Save(file) method.
/// </summary>
/// <param name="file">Full file path and file name of the serialization file to load from.</param>
/// <returns>An object to be cast to the correct type.</returns>
public object Load(string file)
{
object o = null;
System.IO.FileStream fs;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf;
if(!System.IO.File.Exists(file))
{
fs = System.IO.File.Open(file, System.IO.FileMode.Open);
bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
o = bf.Deserialize(fs);
fs.Close();
}
return o;
}
public abstract void Save();
/// <summary>
/// Save a serialzation file.
/// </summary>
/// <param name="file">The full path and file name of the file to serialize to.</param>
public void Save(string file)
{
System.IO.FileStream fs;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf;
if(!System.IO.File.Exists(file))
{
fs = System.IO.File.Create(file);
bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bf.Serialize(fs, this);
fs.Close();
}
else
{
fs = System.IO.File.Open(file, System.IO.FileMode.Truncate);
bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bf.Serialize(fs, this);
fs.Close();
}
}
internal string ConnectionString
{
get{return SqlObject.ConnSTR();}
}
internal static string ConnSTR()
{
return Helpers.Common.ResourceString("PKPromo.Data.Base.ConnStr");
}
}
Magiaus
If I helped give me some points.
-
Jun 9th, 2004, 11:16 AM
#3
Frenzied Member
SQL Server Data Helper A
Code:
#region ToDataSet
/// <summary></summary>
public static System.Data.DataSet ToDataSet(string procedure, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
System.Data.DataSet ret = new System.Data.DataSet();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
conn.Open();
adapter.Fill(ret);
conn.Close();
cmd.Dispose();
conn.Dispose();
adapter.Dispose();
return ret;
}
/// <summary></summary>
public static System.Data.DataSet ToDataSet(string procedure, System.Data.SqlClient.SqlParameter param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
System.Data.DataSet ret = new System.Data.DataSet();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(param);
conn.Open();
adapter.Fill(ret);
conn.Close();
cmd.Dispose();
conn.Dispose();
adapter.Dispose();
return ret;
}
/// <summary></summary>
public static System.Data.DataSet ToDataSet(string procedure,System.Data.SqlClient.SqlParameter[] param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
System.Data.DataSet ret = new System.Data.DataSet();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
for(int i = 0; i < param.Length; i++)
{
cmd.Parameters.Add(param[i]);
}
conn.Open();
adapter.Fill(ret);
conn.Close();
cmd.Dispose();
conn.Dispose();
adapter.Dispose();
return ret;
}
#endregion
#region ToDataTable
/// <summary></summary>
public static System.Data.DataTable ToDataTable(string procedure, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
System.Data.DataTable ret = new System.Data.DataTable();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
conn.Open();
adapter.Fill(ret);
conn.Close();
cmd.Dispose();
conn.Dispose();
adapter.Dispose();
return ret;
}
/// <summary></summary>
public static System.Data.DataTable ToDataTable(string procedure, System.Data.SqlClient.SqlParameter param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
System.Data.DataTable ret = new System.Data.DataTable();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(param);
conn.Open();
adapter.Fill(ret);
conn.Close();
cmd.Dispose();
conn.Dispose();
adapter.Dispose();
return ret;
}
/// <summary></summary>
public static System.Data.DataTable ToDataTable(string procedure,System.Data.SqlClient.SqlParameter[] param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);
System.Data.DataTable ret = new System.Data.DataTable();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
for(int i = 0; i < param.Length; i++)
{
cmd.Parameters.Add(param[i]);
}
conn.Open();
adapter.Fill(ret);
conn.Close();
cmd.Dispose();
conn.Dispose();
adapter.Dispose();
return ret;
}
#endregion
Magiaus
If I helped give me some points.
-
Jun 9th, 2004, 11:17 AM
#4
Frenzied Member
SQL Server Data Helper B
Code:
#region ToDataReader
/// <summary></summary>
public static System.Data.SqlClient.SqlDataReader ToDataReader(string procedure, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataReader ret = null;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
conn.Open();
ret = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
cmd.Dispose();
// conn.Close();
// conn.Dispose();
return ret;
}
/// <summary></summary>
public static System.Data.SqlClient.SqlDataReader ToDataReader(string procedure, System.Data.SqlClient.SqlParameter param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataReader ret = null;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(param);
conn.Open();
ret = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
cmd.Dispose();
// conn.Close();
// conn.Dispose();
return ret;
}
/// <summary></summary>
public static System.Data.SqlClient.SqlDataReader ToDataReader(string procedure,System.Data.SqlClient.SqlParameter[] param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
System.Data.SqlClient.SqlDataReader ret = null;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
for(int i = 0; i < param.Length; i++)
{
cmd.Parameters.Add(param[i]);
}
conn.Open();
ret = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
cmd.Dispose();
// conn.Close();
// conn.Dispose();
return ret;
}
#endregion
/// <summary></summary>
public static object ExecuteScalar(string procedure, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
object ret = null;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
conn.Open();
ret = cmd.ExecuteScalar();
conn.Close();
cmd.Dispose();
conn.Dispose();
return ret;
}
/// <summary></summary>
public static object ExecuteScalar(string procedure, System.Data.SqlClient.SqlParameter param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
object ret = null;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(param);
conn.Open();
ret = cmd.ExecuteScalar();
conn.Close();
cmd.Dispose();
conn.Dispose();
return ret;
}
/// <summary></summary>
public static object ExecuteScalar(string procedure, System.Data.SqlClient.SqlParameter[] param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
object ret = null;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
for(int i = 0; i < param.Length; i++)
{
cmd.Parameters.Add(param[i]);
}
conn.Open();
ret = cmd.ExecuteScalar();
conn.Close();
cmd.Dispose();
conn.Dispose();
return ret;
}
/// <summary></summary>
public static int ExecuteNonQuery(string procedure, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
int ret = 0;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
conn.Open();
ret = cmd.ExecuteNonQuery();
conn.Close();
cmd.Dispose();
conn.Dispose();
return ret;
}
/// <summary></summary>
public static int ExecuteNonQuery(string procedure, System.Data.SqlClient.SqlParameter param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
int ret = 0;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(param);
conn.Open();
ret = cmd.ExecuteNonQuery();
conn.Close();
cmd.Dispose();
conn.Dispose();
return ret;
}
/// <summary></summary>
public static int ExecuteNonQuery(string procedure, System.Data.SqlClient.SqlParameter[] param, string connection_string)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connection_string);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(procedure, conn);
int ret = 0;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
for(int i = 0; i < param.Length; i++)
{
cmd.Parameters.Add(param[i]);
}
conn.Open();
ret = cmd.ExecuteNonQuery();
conn.Close();
cmd.Dispose();
conn.Dispose();
return ret;
}
}
Magiaus
If I helped give me some points.
-
Jun 9th, 2004, 11:17 AM
#5
Frenzied Member
there are an A & B cause it's cut in half
Magiaus
If I helped give me some points.
-
Jun 9th, 2004, 11:18 AM
#6
Frenzied Member
a class using those classes
Code:
/// <summary>
/// PK Promotions base product/widget/thing-ah-mah-jig.
/// </summary>
public class Product : Base.SqlObject
{
#region Constructors
/// <summary>
/// Create a new empty Product. This product will not exist in SQL Server until saved.
/// </summary>
public Product(){}
public Product(System.Guid key)
{
if(key != System.Guid.Empty)
{
System.Data.SqlClient.SqlDataReader r = Helpers.SqlProcedure.ToDataReader
("Products_GetProductByProductGuid",
new System.Data.SqlClient.SqlParameter("@ProductGuid", key),
ConnectionString);
if(r.Read())
{
_key = key;
_name = r["ProductName"].ToString().Trim();
_description = r["ProductDescription"].ToString().Trim();
_phase = new ProductPhase(new System.Guid(r["ProductPhaseGuid"].ToString().Trim()));
}
r.Close();
}
}
#endregion
#region Data Members
/// <summary>
/// This method deletes this product and all it's related data from SQL Server.
/// Note: This method will cascade the deletion of all related product information.
/// Information will be delted across all tables on which ProductGuid has
/// a PRIMARY KEY relation. Don't call it unless you mean it.
/// </summary>
public override void Delete()
{
if(_key == System.Guid.Empty){return;}
Helpers.SqlProcedure.ExecuteNonQuery
("Products_DelProductByProductGuid",
new System.Data.SqlClient.SqlParameter("@ProductGuid", _key),
ConnectionString);
}
/// <summary>
/// Save the information for this product to SQLServer.
/// Note: This method does not alter any tables
/// except the Products table.
/// </summary>
public override void Save()
{
if(_phase.Key == System.Guid.Empty)
{//set idle
}
if(_key != System.Guid.Empty)
{ //update
Helpers.SqlProcedure.ExecuteNonQuery
("Products_SetProductByProductGuid",
new System.Data.SqlClient.SqlParameter[]{
new System.Data.SqlClient.SqlParameter("@ProductGuid", _key),
new System.Data.SqlClient.SqlParameter("@ProductPhaseGuid", _phase.Key),
new System.Data.SqlClient.SqlParameter("@ProductName", _name),
new System.Data.SqlClient.SqlParameter("@ProductDescription", _description)},
ConnectionString);
}
else
{ //insert
Helpers.SqlProcedure.ExecuteNonQuery
("Products_AddProduct",
new System.Data.SqlClient.SqlParameter[]{
new System.Data.SqlClient.SqlParameter("@ProductPhaseGuid", _phase.Key),
new System.Data.SqlClient.SqlParameter("@ProductName", _name),
new System.Data.SqlClient.SqlParameter("@ProductDescription", _description)},
ConnectionString);
}
}
#endregion
#region Properties
private System.Guid _key = System.Guid.Empty;
/// <summary>
/// Products read only PRIMARY KEY.
/// This Guid Primary Key is also used as this products
/// Product Code.
/// </summary>
public System.Guid Key
{
get{return _key;}
}
private ProductPhase _phase = new ProductPhase();
/// <summary>
/// The phase the product is currently in.
/// </summary>
public ProductPhase Phase
{
get{return _phase;}
set{_phase = value;}
}
/// <summary>
/// The read only description of the current phase.
/// </summary>
public string PhaseDescription
{
get{return _phase.Description;}
}
private string _name = "";
/// <summary>
/// The name used to identifiy this product.
/// </summary>
public string Name
{
get{return _name;}
set{_name = value;}
}
private string _description = "";
/// <summary>
/// A brief description that goes along with the product.
/// </summary>
public string Description
{
get{return _description;}
set{_description = value;}
}
#endregion
#region Static Members
/// <summary>
/// Get the total number of products.
/// </summary>
/// <returns>Integer number of products.</returns>
public static int ProductCount()
{
return (int)Helpers.SqlProcedure.ExecuteScalar
("Products_GetProductsCount",
Base.SqlObject.ConnSTR());
}
/// <summary>
/// Get the total number of products in a certian phase.
/// </summary>
/// <param name="phase_key">The Guid PRIMARY KEY of the product count from.</param>
/// <returns>The total number of products in the product phase determined by phase_key.</returns>
public static int ProductCount(System.Guid phase_key)
{
return (int)Helpers.SqlProcedure.ExecuteScalar
("Products_GetProductsCountByProductPhaseGuid",
new System.Data.SqlClient.SqlParameter("@ProductPhaseGuid", phase_key),
Base.SqlObject.ConnSTR());
}
/// <summary>
/// Get a Product by name.
/// </summary>
/// <param name="name">The name of the product.</param>
/// <returns>Product.</returns>
public static Product FromName(string name)
{
return new Product(new System.Guid(Helpers.SqlProcedure.ExecuteScalar
("Products_GetProductByProductName",
new System.Data.SqlClient.SqlParameter("@ProductName", name),
Base.SqlObject.ConnSTR()).ToString()));
}
#endregion
}
Magiaus
If I helped give me some points.
-
Jun 9th, 2004, 11:19 AM
#7
Frenzied Member
no, I don't have any vb code
Magiaus
If I helped give me some points.
-
Jun 9th, 2004, 11:20 AM
#8
Frenzied Member
damn, that's allot of code.....
sorry, for multi posts......
see the XML documentation......
Magiaus
If I helped give me some points.
-
Jun 10th, 2004, 09:54 AM
#9
Thread Starter
Fanatic Member
WOW.
Shame I don't understand it but I'll give it a go.
-
Jun 14th, 2004, 02:27 AM
#10
Addicted Member
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|