PDA

View Full Version : آموزش نوشتن کلاس براي ديتا بيس



<برنامه نویس>
دوشنبه 10 آبان 1389, 22:06 عصر
سلام دوستان ميشه نحوه نوشتن كد ها در كلاس رو نشون بديد براي اضافه -پاك كردن -اضلاح ديتا بيس مثل اين كد يعني جطوري بايد نوشت و چطوري ميشه ازش استفاده كرد مثا اين كد




using System;
using System.Data;
public class Post
{
#region Fields
private int id;
private string title;
private string body;
private DateTime createdTime;
private int userId;
#endregion Fields
#region Properties
public int Id
{
get { return id; }
set { id = value; }
}
public string Title
{
get { return title; }
set { title = value; }
}
public string Body
{
get { return body; }
set { body = value; }
}
public DateTime CreatedTime
{
get { return createdTime; }
set { createdTime = value; }
}
public int UserId
{
get { return userId; }
set { userId = value; }
}
#endregion Properties
#region Constructor
public Post()
{
}
#endregion Constructor
#region Methods
public void Add()
{
try
{
DataAccessLayer dal = new DataAccessLayer();
dal.Connect();
string command = "INSERT INTO post VALUES(N'{0}',N'{1}',N'{2}',N'{3}')";
command = string.Format(command, title, body, createdTime, userId);
dal.DoCommand(command);
}
catch (Exception)
{
throw;
}
}
public void Edit()
{
try
{
DataAccessLayer dal = new DataAccessLayer();
dal.Connect();
string command = "UPDATE post SET title = N'{0}', body =N'{1}', createdtime =N'{2}', userid = {3} WHERE id = {4}";
command = string.Format(command, title, body, createdTime, userId, id);
dal.DoCommand(command);
dal.Disconnect();
}
catch
{
throw;
}
}
public Post[] Select()
{
DataAccessLayer da = new DataAccessLayer();
da.Connect();
DataTable dt = da.Select("Select top 3 * from post where userid="+this.UserId+" order by id desc");
DataTableReader reader = dt.CreateDataReader();
Post[] retuns = new Post[dt.Rows.Count];
Post tmpPost = null;
int i = 0;
while (reader.Read())
{
tmpPost = new Post();
tmpPost.id = reader.GetInt32(0);
tmpPost.title = reader.GetString(1);
tmpPost.body = reader.GetString(2);
tmpPost.createdTime = reader.GetDateTime(3);
tmpPost.userId = reader.GetInt32(4);
retuns[i] = tmpPost;
i++;
}
da.Disconnect();
return retuns;
}
public Post Read(int _userid)
{
try
{
DataAccessLayer dal = new DataAccessLayer();
Post tmpPost = null;
DataTableReader reader = dal.Select("SELECT * FROM post WHERE id = " + Id+" and userid="+_userid).CreateDataReader();
while (reader.Read())
{
tmpPost = new Post();
tmpPost.id = reader.GetInt32(0);
tmpPost.title = reader.GetString(1);
tmpPost.body = reader.GetString(2);
tmpPost.createdTime = reader.GetDateTime(3);
tmpPost.userId = reader.GetInt32(4);
}
return tmpPost;
}
catch
{

throw;
}
}


public void Delete(int _userid)
{
try
{
DataAccessLayer dal = new DataAccessLayer();
dal.Connect();
string command = "DELETE FROM post WHERE id = " + Id+" and userid="+_userid;
dal.DoCommand(command);
dal.Disconnect();
}
catch
{
throw;
}
}
#endregion Methods
}
البته اين يك نمونه است كه با cشارپ نوشته شده

majnun
دوشنبه 10 آبان 1389, 22:46 عصر
خب دوست عزیز چیو باید توضیح بدیم ؟

این یک کلاسه با پروپرتی ها و فیلدها

بعد یکسری توابع درونش که هر کدوم مقادیری گرفته و کاری انجام میدن مثل پاک کردن و ...

همونطور که خودتون گفتین

حالا ما باید چیشو توضیح بدیم ؟؟؟

<برنامه نویس>
دوشنبه 10 آبان 1389, 23:02 عصر
دوست من ميدونم اين چي كار ميكنه -من ميخوام اصول نوشتن رو بدونم مثلا من ميخوام يك سايت بنويس كه يكيسري اطلاعات در ديتا بيس ميره - پاك ميشه اصلاح ميشه من قبلا اين كار رو با LINQ ميكردم حالا ميخوام بدنم اين روش جطوريه جه خوبي هايي داره جه بدي هايي جرا اصلا از كلاس اسافاده ميشه و نحوه نوشتن كلاس ها جطوريه براي اضافه كردن و ....
مثلا كار اين كد ها جيه حتما بايد استفاده بشه


using System;
using System.Data;
public class Post
{
#region Fields
private int id;
private string title;
private string body;
private DateTime createdTime;
private int userId;
#endregion Fields
#region Properties
public int Id
{
get { return id; }
set { id = value; }
}
public string Title
{
get { return title; }
set { title = value; }
}
public string Body
{
get { return body; }
set { body = value; }
}
public DateTime CreatedTime
{
get { return createdTime; }
set { createdTime = value; }
}
public int UserId
{
get { return userId; }
set { userId = value; }
}

majnun
دوشنبه 10 آبان 1389, 23:17 عصر
دوست من ميدونم اين چي كار ميكنه -من ميخوام اصول نوشتن رو بدونم مثلا من ميخوام يك سايت بنويس كه يكيسري اطلاعات در ديتا بيس ميره - پاك ميشه اصلاح ميشه من قبلا اين كار رو با LINQ ميكردم حالا ميخوام بدنم اين روش جطوريه جه خوبي هايي داره جه بدي هايي جرا اصلا از كلاس اسافاده ميشه و نحوه نوشتن كلاس ها جطوريه براي اضافه كردن و ....
مثلا كار اين كد ها جيه حتما بايد استفاده بشه



ببینید اصول این کدهاییی که برای بالا میبینید اینه که برنامه نویس میاد پروپرتی ها و فیلدهایی برای کلاس ( مثل فیلدهای جدول بانک میسازه

برای نمونه من 2 تا برنامه گذاشتم که میتونی ببینی که یاد بگیری

این فیلدها رو با جدول بانک کطابقت بده متوحه میشی دقیقا کارش چیه:

http://barnamenevis.org/forum/showthread.php?t=255429

http://barnamenevis.org/forum/showthread.php?t=254970

این نوع کلاس ها برا برنامه نویسی لایه ای استفاده میشه بیشتر

<برنامه نویس>
سه شنبه 11 آبان 1389, 20:11 عصر
ببنيد ميشه بگيد اينا جين و چرا بايد اينجوري تعريف بشن



public int Id
{
get { return id; }
set { id = value; }
}
public string Title
{
get { return title; }
set { title = value; }
}
public string Body
{
get { return body; }
set { body = value; }
}
public DateTime CreatedTime
{
get { return createdTime; }
set { createdTime = value; }
}
public int UserId
{
get { return userId; }
set { userId = value; }
}

aminghaderi
سه شنبه 11 آبان 1389, 20:32 عصر
نقل قول: آموزش نوشتن ملاس براي ديتا بيس

شما یه کلاس ساده با یه پروپرتی رو شروع کنید ، بعد بیان یه همچین کلاسی بنویسید.
یه کلاس ساده شامل یه ورودی و یه خروجی و یه تابع که عمل جمع رو انجام می دهد.
این طوری خیلی راهت تر با مفهوم کلاس نویسی آشنا می شوید.

<برنامه نویس>
سه شنبه 11 آبان 1389, 21:06 عصر
حوب همين كه شما گفتيد رو چطور بنويسم -ميشه راهنمايي كنيد يا اگر لينكي داريد به من بديه لطفا مرسي