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

نام تاپیک: انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

  1. #1
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

    با سلام خدمت اساتید محترم
    من یک struct با 2 فیلد دارم به صورت زیر


    publicstructLoginInfo
    {
    privateBoolean Stat;
    privateBoolean Admin;
    }



    و بعد از آن یک متد به صورت زیر





    publicList<LoginInfo> Logion(string UserName,string Password)
    {
    OleDbConnection con = newOleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\E-Commerce.accdb");
    string cmd = "select * from Login where UserName=@Username and Password=@Password";
    OleDbDataAdapter Da=newOleDbDataAdapter(cmd,con);
    Da.SelectCommand.Parameters.AddWithValue(
    "@UserName", Username);
    Da.SelectCommand.Parameters.AddWithValue(
    "@Password", Password);


    میخواهم با استفاده از generic ها خروجی این متد من ساختاری مثل struct بالا باشه
    من در ادامه کد متد خودم باید چه کدی بنویسم

    ممنون میشم دوستان عزیز کمکم کنند.......

  2. #2
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    نقل قول: انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

    دوستان کسی نمیتونه راهنماییم کنه

  3. #3

    نقل قول: انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

    از struct استفاده نکن.
    هر موجودیت باید یک کلاس داشته باشه.
    داده ها رو در DataReader بریز و با while در DataReader حرکت و از کلاس، new و به اعضای اون مقداردهی و به List اضافه کن.

    موفق باشید.

  4. #4
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    نقل قول: انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

    نقل قول نوشته شده توسط Behrouz_Rad مشاهده تاپیک
    از struct استفاده نکن.
    هر موجودیت باید یک کلاس داشته باشه.
    داده ها رو در DataReader بریز و با while در DataReader حرکت و از کلاس، new و به اعضای اون مقداردهی و به List اضافه کن.

    موفق باشید.
    استاد خیلی جالب توضیح دادید ولی باور کنید سواد ما در این حد نیست من پروزهdatagride شما رو نگاه کردم ولی حقیقتش بازم چیزه زیادی متوجه نشدم چون هنوز چیزه زیادی از برنامه نویسی 3 لایه و generic ها نمی دونمو در این پروژه که دارم انجام میدم سعی میکنم که اینها رو یاد بگیرم ممنون میشم یه مثال کوچک بزنید....

  5. #5
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551

    نقل قول: انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

    مثلا می تونی ب اینصورت بنویسی :
    (فقط اینکه کامپایلش نکردم)

    publicList<LoginInfo> Logion(string UserName,string Password)
    {
    List<LoginInfo> retList=new List<LoginInfo>();

    OleDbConnection con = newOleDbConnection(@"Provider=Microsoft.ACE.OLEDB. 12.0;Data Source=D:\E-Commerce.accdb");
    string cmd = "select * from Login where UserName=@Username and Password=@Password";

    OledbDataReader dr=null;

    try
    {
    con.Open();

    cmd.ExecuteReader(CommandBehaviour.CloseConnection );
    if(dr.HasValue)
    {
    while(dr.Read())
    {
    LoginInfo objLoginInfo= new LoginInfo(dr[0].ToString() , dr[1].ToString());
    retList.Add(objLoginInfo);
    }
    }
    }
    catch(Exception ex)
    {
    //...
    }
    finally
    {
    if(dr != null)
    dr.Close();
    }

    return retList;
    }

  6. #6
    کاربر دائمی آواتار mohsen_zelzela00
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    internet && .net
    پست
    755

    نقل قول: انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

    نقل قول نوشته شده توسط RED-C0DE مشاهده تاپیک
    مثلا می تونی ب اینصورت بنویسی :
    (فقط اینکه کامپایلش نکردم)

    publicList<LoginInfo> Logion(string UserName,string Password)
    {
    List<LoginInfo> retList=new List<LoginInfo>();

    OleDbConnection con = newOleDbConnection(@"Provider=Microsoft.ACE.OLEDB. 12.0;Data Source=D:\E-Commerce.accdb");
    string cmd = "select * from Login where UserName=@Username and Password=@Password";

    OledbDataReader dr=null;

    try
    {
    con.Open();

    cmd.ExecuteReader(CommandBehaviour.CloseConnection );
    if(dr.HasValue)
    {
    while(dr.Read())
    {
    LoginInfo objLoginInfo= new LoginInfo(dr[0].ToString() , dr[1].ToString());
    retList.Add(objLoginInfo);
    }
    }
    }
    catch(Exception ex)
    {
    //...
    }
    finally
    {
    if(dr != null)
    dr.Close();
    }

    return retList;
    }
    پس از این به بعد به جای استفاده از struct از یک کلاس به نام LoginInfo استفاده کنم درسته(با توجه به فرمایشات استاد راد)؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

  7. #7
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551

    نقل قول: انتقال اطلاعات به صورت generic در برنامه نویسی 3لایه

    فرقی نداره..معمولش استفاده از کلاس است ولی در اینجا همین استراکت هم کار شما رو راه میندازه..

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

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