soleimani.em
شنبه 31 خرداد 1393, 10:54 صبح
با سلام خدمت دوستان برنامه نویس گل!
مشکلی که من بهش برخوردم اینه که تو یه پروژه نیاز هست تعدادی یا همه اطلاعات یه جدول رو تو یه فرم لود کنم مثلاً من میخوام اطلاعات کاربری که User اون رو دارم مانند اسم و تاریخ ثبت و ... بگیرم و ازشون استفاده کنم به روش سنتی که کار میکردم به این شکل
SqlConnection ObjectConnection = new SqlConnection(Connect.ConnecttoSQL);
ObjectConnection.Open();
SqlCommand ObjectCommand = new SqlCommand("select * from UserAccount where UserName=('" + tUserName.Text + "')");
ObjectCommand.Connection = ObjectConnection;
SqlDataReader Objectreader = ObjectCommand.ExecuteReader();
while (Objectreader.Read())
{
//and =('" + tPassword.Text + "')
Userinfo.UserID = Convert.ToInt32(Objectreader.GetValue(0).ToString( ));
Userinfo.Name = Objectreader.GetValue(1).ToString();
Userinfo.Family = Objectreader.GetValue(2).ToString();
}
Objectreader.Close();
ObjectConnection.Dispose();
ولی من الان رو پروژه ای با معماری سه لایه کار می کنم که تو لایه DAL
public object ExecuteScaler(CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = new _Connections().Cnn;
cmd.CommandType = commandType;
cmd.CommandText = commandText;
cmd.Parameters.AddRange(commandParameters);
object retVal = cmd.ExecuteScalar();
return retVal;
}
public string GetUseraname_Login(string UserName)
{
object retVal = ExecuteScaler(System.Data.CommandType.Text, "SELECT Name_Family,UseriD FROM UserControl WHERE UserName = @UserName ", new SqlParameter[] { new SqlParameter("@UserName", UserName) });
if (retVal != null)
return retVal + "";
else
return "";
}
و لایه BLL
public string GetUseranamePassword_Login()
{
string retval = "";
retval = Log.GetUseranamePassword_Login(UserName);
return retval;
}
کدهامو نوشتم حالا من چطوری میتونم دسترسی به مقدار فیلد Name_Family یا UseriD داشته باشم البته بصورت تکی مثلا بخوام فقط Name_Family رو بگیرم مشکلی نیست با بیشتر از یکی مشکل دارم.
لطفاً راهمایی کنید که راهش چیه نمیخوام از دیتا گرید استفاده کنم برای جاهایی که نیاز به دیتا گرید بوده Data set استفاده کردم بنظر من میشه از همون استفاده کرد ولی من راهشو بلد نیستم یعنی نمیدونم باید با چه شی من از اطلاعات Data set اسفاده کنم.
با تشکر.
مشکلی که من بهش برخوردم اینه که تو یه پروژه نیاز هست تعدادی یا همه اطلاعات یه جدول رو تو یه فرم لود کنم مثلاً من میخوام اطلاعات کاربری که User اون رو دارم مانند اسم و تاریخ ثبت و ... بگیرم و ازشون استفاده کنم به روش سنتی که کار میکردم به این شکل
SqlConnection ObjectConnection = new SqlConnection(Connect.ConnecttoSQL);
ObjectConnection.Open();
SqlCommand ObjectCommand = new SqlCommand("select * from UserAccount where UserName=('" + tUserName.Text + "')");
ObjectCommand.Connection = ObjectConnection;
SqlDataReader Objectreader = ObjectCommand.ExecuteReader();
while (Objectreader.Read())
{
//and =('" + tPassword.Text + "')
Userinfo.UserID = Convert.ToInt32(Objectreader.GetValue(0).ToString( ));
Userinfo.Name = Objectreader.GetValue(1).ToString();
Userinfo.Family = Objectreader.GetValue(2).ToString();
}
Objectreader.Close();
ObjectConnection.Dispose();
ولی من الان رو پروژه ای با معماری سه لایه کار می کنم که تو لایه DAL
public object ExecuteScaler(CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = new _Connections().Cnn;
cmd.CommandType = commandType;
cmd.CommandText = commandText;
cmd.Parameters.AddRange(commandParameters);
object retVal = cmd.ExecuteScalar();
return retVal;
}
public string GetUseraname_Login(string UserName)
{
object retVal = ExecuteScaler(System.Data.CommandType.Text, "SELECT Name_Family,UseriD FROM UserControl WHERE UserName = @UserName ", new SqlParameter[] { new SqlParameter("@UserName", UserName) });
if (retVal != null)
return retVal + "";
else
return "";
}
و لایه BLL
public string GetUseranamePassword_Login()
{
string retval = "";
retval = Log.GetUseranamePassword_Login(UserName);
return retval;
}
کدهامو نوشتم حالا من چطوری میتونم دسترسی به مقدار فیلد Name_Family یا UseriD داشته باشم البته بصورت تکی مثلا بخوام فقط Name_Family رو بگیرم مشکلی نیست با بیشتر از یکی مشکل دارم.
لطفاً راهمایی کنید که راهش چیه نمیخوام از دیتا گرید استفاده کنم برای جاهایی که نیاز به دیتا گرید بوده Data set استفاده کردم بنظر من میشه از همون استفاده کرد ولی من راهشو بلد نیستم یعنی نمیدونم باید با چه شی من از اطلاعات Data set اسفاده کنم.
با تشکر.