جستجو در دورآموز

برکشت به انجمن
فریبا دقیق
فریبا دقیق
سی شارپ - آبان
برنامه نویسی
یکشنبه، ۰۸ دی ۱۳۹۸ ساعت ۱۷:۱۹:۳۶

لاگین شدن و نمایش فقط اطلاعات مربوط به همان فرد

من یک توی پروژه کلا سه تا فرم دارم و یک دیتابیس دارم که دو تا جدول داره یکی user و یکی اطلاعات مربوط به هر user

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

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

من خودم یک سری کارهایی رو انجام دادم 

دو تا query از هر جدول بر اساس usrid که داشتن ایجاد کردم

بعد گفتم که اگر این دو تا userid ها با هم برابر بود بعد بیا gridview  رو پر کن ولی باز هم همه اطلاعات و نشون میده

این کد ها رو توی فرم load فرمی که gridview داره نوشتم

  DataSet1TableAdapters.UserPasstbTableAdapter up = new DataSet1TableAdapters.UserPasstbTableAdapter();
            DataSet1TableAdapters.UserTableAdapter u = new DataSet1TableAdapters.UserTableAdapter();
            var userid = u.GetDataByUserId().UserIdColumn;
            var userpassid = up.GetDataByUserId().UserIdColumn;
            if (userid == userpassid)
            {
                this.userPasstbTableAdapter.Fill(dataSet1.UserPasstb);
                
            }

 

 



پاسخ ها

رامین اسلامی
رامین اسلامی
مدیر وب سایت دورآموز ،مدیر پروژه تیم برنامه نویسی جی وب ، برنامه نویس و مدرس زبان های برنامه نویسی و گرافیک
سه شنبه، ۱۰ دی ۱۳۹۸ ساعت ۱۱:۳۴:۴۲

ابتدا یک کلاس به نام Global ایجاد کرده و درون آن یک فیلد به صورت زیر تعریف کنید

public static int userid;

پس از لاگین کد کاربر را درون این فیلد ذخیره کنید

Global.userid=کد کاربر;

درون Dataset یک درخواست ایجاد و نام ان را FillByUserId قرار دهید

 

سپس یک datagrid درون صفحه قرار داده و اتصال ان را به جدول مورد نظر برقرار کرده و کد تولید شده در رویداد Load فرم را به صورت زیر تغییر دهید

this.studentTableAdapter.FillByUserId(this.dataSet1.Student,Global.userid);

موفق باشید


فریبا دقیق
فریبا دقیق
برنامه نویس زبان های c# و Asp.Net و web design
چهارشنبه، ۱۱ دی ۱۳۹۸ ساعت ۱۳:۲۸:۵۴

یه سوال دیگه که پیش اومده برام اینه که مقدار Global.UserId باید برابر چه کدی باشه اینجاشو متوجه نشدم و باید توی فرمی که مشخصات شخص و نشون می ده قبل از دستور 

this.studentTableAdapter.FillByUserId(this.dataSet1.Student,Global.userid);

بیاد؟

یا توی فرم لاگین ؟


رامین اسلامی
رامین اسلامی
مدیر وب سایت دورآموز ،مدیر پروژه تیم برنامه نویسی جی وب ، برنامه نویس و مدرس زبان های برنامه نویسی و گرافیک
پنج شنبه، ۱۲ دی ۱۳۹۸ ساعت ۱۵:۱۲:۰۱

وقتی لاگین میکنید کد کاربر را قبل از باز شدن فرم اصلی برنامه در Global.userid قرار دهید


رامین اسلامی
رامین اسلامی
مدیر وب سایت دورآموز ،مدیر پروژه تیم برنامه نویسی جی وب ، برنامه نویس و مدرس زبان های برنامه نویسی و گرافیک
یکشنبه، ۱۵ دی ۱۳۹۸ ساعت ۱۸:۰۷:۵۰

ابتدا جدولی به نام لاگین به 3 فیلد زیر بسازید

  1. userId از نوع Autonumber
  2. username
  3. password

در Dataset خود یک درخواست به نام getDataByUserPas ایجاد و در جلوی فیلدهای username و password  علامت ؟ قرار دهید

در رویداد کلیلک دکمه لاگین ایتدا یک شی از کلاس DataSetTableAdapterو جدول لاگین مثلا به نام user ایجاد کنید

سپس

var dt=user.getDataByUserPass(textBox1.Text,textBox2.Text);
if(dt.Rows.Count==1)
{
  Global.Userid=ConvertToInt32(dt.Rows[0]["userid"]);
}

 


فریبا دقیق
فریبا دقیق
برنامه نویس زبان های c# و Asp.Net و web design
سه شنبه، ۱۷ دی ۱۳۹۸ ساعت ۱۲:۰۶:۱۶

خیلی ممنون بابت پاسخگویی به سوالات

من برای اضافه کردن رکورد جدید به datagridview هم مشکل دارم 

به جای کد زیر

 this.userPasstbTableAdapter.Fill(this.dataSet1.UserPasstb);

برای سیو کردن add و edit کد زیر را نوشتم ولی باز هم درست کار نمیکنه

this.userPasstbTableAdapter.FillByUserId(this.dataSet1.UserPasstb, Global.userid);

یعنی مقداری که من اضافه کردم و نادیده می گیره و هر چیزی که قبلا توی دیتابیس وجود داشته رو نمایش می ده

برای رفع این مشکل باید چه کار کنم؟

 


رامین اسلامی
رامین اسلامی
مدیر وب سایت دورآموز ،مدیر پروژه تیم برنامه نویسی جی وب ، برنامه نویس و مدرس زبان های برنامه نویسی و گرافیک
چهارشنبه، ۱۸ دی ۱۳۹۸ ساعت ۱۶:۴۷:۰۵

موقع اضافه کردن رکورد جدید بابد مقدار موجود در Global.userid را هم درون جدول اضافه کنید. سپس بعد ار اظافه کردن رکورد مجددا فرمان زیر را قرار دهید

this.userPasstbTableAdapter.FillByUserId(this.dataSet1.UserPasstb, Global.userid);

 


فریبا دقیق
فریبا دقیق
برنامه نویس زبان های c# و Asp.Net و web design
جمعه، ۲۰ دی ۱۳۹۸ ساعت ۱۲:۲۳:۴۵

ممنون بابت پاسختون 

درست شد


جهت درج پاسخ ابتدا باید وارد شوید و یا ثبت نام نمایید

برکشت به انجمن
سوالات متداول دورآموز