نمایش نتایج 1 تا 7 از 7

نام تاپیک: مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

  1. #1

    مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

    با سلام خدمت دوستان برنامه نویس گل!

    مشکلی که من بهش برخوردم اینه که تو یه پروژه نیاز هست تعدادی یا همه اطلاعات یه جدول رو تو یه فرم لود کنم مثلاً من میخوام اطلاعات کاربری که 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 اسفاده کنم.

    با تشکر.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

    شما میتونی خروجی متد در لایه DAL رو از نوع DataTable بگیری و بجای ExecuteScalar از DataAdapter برای پر کردن DataTable استفاده کنید.در این حالت، در لایه BL شما بجای یک رشته، یک DataTable (یا DataRow) از لایه DAL n دریافت میکنید و میتونید به مقادیر ستون های مختلف دسترسی پیدا کنید.

  3. #3

    نقل قول: مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

    لایه DAL رو اینطوری نوشتم

    public DataSet ExecuteDataset(CommandType commandType, string commandText, SqlParameter[] commandParameters)
    {
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = new _Connections().Cnn;
    cmd.CommandType = commandType;
    cmd.CommandText = commandText;
    if (commandParameters != null)
    cmd.Parameters.AddRange(commandParameters);
    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(ds);
    return ds;
    }

    public DataTable GetUpdate_City()
    {
    DataSet ds = ExecuteDataset(System.Data.CommandType.Text, "SELECT Userid, Name_Family, FROM UserControl Where Username=@username ", new SqlParameter[] { new SqlParameter("@DRiD", DRiD) });
    return ds.Tables[0];
    }

    حالا من میخوام به داده های دیتا تیبل دسترسی داشته باشم. اینو چطوری تو لایه BLL انجام بدم؟
    و تو لایه UI چطوری میشه استفاده کرد؟
    بازم ممنون از راهنماییتون.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

    خوب با فراخوانی متدهایی که نوشتین خروجی از نوع DataSet و DataTable به لایه BL داده میشه...نمیفهمم ابهامش کجاس.
    در لایه UI هم بستگی به طراحی داره...یک روش اینه که DataTable رو هم از BL به UI بدین..روش های مختلفی برای طراحی چند لایه وجود داره.

  5. #5

    نقل قول: مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

    نقل قول نوشته شده توسط plus مشاهده تاپیک
    خوب با فراخوانی متدهایی که نوشتین خروجی از نوع DataSet و DataTable به لایه BL داده میشه...نمیفهمم ابهامش کجاس.
    در لایه UI هم بستگی به طراحی داره...یک روش اینه که DataTable رو هم از BL به UI بدین..روش های مختلفی برای طراحی چند لایه وجود داره.

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

  6. #6
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

    DataTable یک جدول داده هست. با استفاده از اندیس و یا نام سطر و ستون میتونید مقدار اون سطر و ستون رو بدست بیارین.
    http://msdn.microsoft.com/en-us/libr...datatable.aspx

  7. #7

    نقل قول: مشکل در برگشت اطلاعات یک جدول از دیتابیس در معماری سه لایه

    نقل قول نوشته شده توسط plus مشاهده تاپیک
    DataTable یک جدول داده هست. با استفاده از اندیس و یا نام سطر و ستون میتونید مقدار اون سطر و ستون رو بدست بیارین.
    http://msdn.microsoft.com/en-us/libr...datatable.aspx
    خیلی ممنون مشکلم حل شد. دستت شما درد نکنه جناب Plus

تاپیک های مشابه

  1. سوال: نحوه انتقال اطلاعات یک جدول از دیتابیس به جدول مشابه در دیتابیس دیگر توسط دستور INSERT INTO ??
    نوشته شده توسط butterfly8528 در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 6
    آخرین پست: دوشنبه 28 اردیبهشت 1394, 21:25 عصر
  2. سوال: مشکل در ریختن اطلاعات از گریدویو به دیتابیس
    نوشته شده توسط mahmood1000 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: یک شنبه 19 دی 1389, 17:17 عصر
  3. سوال: مشکل در ورود اطلاعات در جدول
    نوشته شده توسط royaeel در بخش VB.NET
    پاسخ: 2
    آخرین پست: جمعه 05 تیر 1388, 00:37 صبح
  4. مشکل در انتقال اطلاعات یک ستون از دیتابیس به comboBox
    نوشته شده توسط Majid4100 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: یک شنبه 09 فروردین 1388, 17:22 عصر
  5. مشکل در واکشی اطلاعات از جدول
    نوشته شده توسط maryam82 در بخش VB.NET
    پاسخ: 1
    آخرین پست: یک شنبه 30 تیر 1387, 20:36 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •