PDA

View Full Version : گفتگو: یک سوال راجع به Wrapper Class های تولید شده توسط SpGen اقای DelphiAssistant



ali_mohamadi8928
یک شنبه 22 شهریور 1388, 15:39 عصر
کد زیر یک نمونه از Class Wrapper تولید شده توسط Stored Procedure Generator اقای DelphiAssistant هست . فقط یک سوال واسم ‍یش اومده که عبارت زیر چرا قبل از تعریف کلاس اومده و فایدش چیه و چه استفاده اس میشه از این خاصیت کرد ؟


[DataObject(true)]


و این عبارت چیه که قبل از هر متد اومده و فایدش چیه ؟


[DataObjectMethod(DataObjectMethodType.Fill)]

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


using System;
using System.Data;
using System.Data.SqlClient;
using System.ComponentModel;
using NovinMedia.Data;
namespace NovinMedia.Data.Layer
{
[DataObject(true)]
public class TB_User
{
[DataObjectMethod(DataObjectMethodType.Fill)]
public static DataSet SelectAll()
{
DbObject dbo = new DbObject();
SqlParameter[] parameters = new SqlParameter[]
{

};
return dbo.RunProcedure("sp_TB_User_SelectAll", parameters, "TB_User");
}
[DataObjectMethod(DataObjectMethodType.Fill)]
public static DataSet SelectRow()
{
DbObject dbo = new DbObject();
SqlParameter[] parameters = new SqlParameter[]
{

};
return dbo.RunProcedure("sp_TB_User_SelectRow", parameters, "TB_User");
}
[DataObjectMethod(DataObjectMethodType.Insert)]
public static int InsertRow(string UserID,string Password,string Role)
{
int RowsAffected = 0;
int Result = 0;
DbObject dbo = new DbObject();
SqlParameter[] parameters = new SqlParameter[]
{
new SqlParameter("UserID",UserID),
new SqlParameter("Password",Password),
new SqlParameter("Role",Role)
};
Result = dbo.RunProcedure("sp_TB_User_Insert", parameters, out RowsAffected);
return Result;
}
[DataObjectMethod(DataObjectMethodType.Update)]
public static int UpdateRow(string UserID,string Password,string Role)
{
int RowsAffected = 0;
int Result = 0;
DbObject dbo = new DbObject();
SqlParameter[] parameters = new SqlParameter[]
{
new SqlParameter("UserID",UserID),
new SqlParameter("Password",Password),
new SqlParameter("Role",Role)
};
Result = dbo.RunProcedure("sp_TB_User_Update", parameters, out RowsAffected);
return Result;
}
[DataObjectMethod(DataObjectMethodType.Delete)]
public static int DeleteRow()
{
int RowsAffected = 0;
int Result = 0;
DbObject dbo = new DbObject();
SqlParameter[] parameters = new SqlParameter[]
{

};
Result = dbo.RunProcedure("sp_TB_User_DeleteRow", parameters, out RowsAffected);
return Result;
}
}
}

مهدی کرامتی
یک شنبه 22 شهریور 1388, 20:33 عصر
تگ [DataObject(true)] به Visual Studio اعلام می کند این کلاس یک Data Object است که توسط ObjectDataSource قابل استفاده است.

تگ [DataObjectMethod(DataObjectMethodType.Fill)] نیز اعلام می کند این متد (متدی که بعد از این خط ظاهر می شود) برای عمل Select در DataSource تعریف شده است و ... .

magic69
جمعه 10 آذر 1391, 20:16 عصر
ببخشید ولی فکر میکنم تگ
[DataObjectMethod(DataObjectMethodType.Fill)] واسه اینه که اعلام کنیم این متد دیتاست رو قراره پر کنه و تگ [DataObjectMethod(DataObjectMethodType.Select)] اعلام میکنه که این متد عمل Select رو قراره انجام بده. البته واسه عملیات سلکت فکرکنم هردوتاش قابل استفاده هستش

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