PDA

View Full Version : سوال: اشکال در بایند دوباره اطلاعات فرم



airsoft
شنبه 23 مرداد 1389, 10:07 صبح
سلام خدمت دوستان،
من داخل برنامم دو تا فرم دارم که اولی اطلاعات کاربر رومیگیره و اگه درست بود،اطلاعات در جدول log موجود در پایگاه داده ثبت میشه.با دستور زیر اطلاعات کابر رو داخل فرم اصلی نشون میدم و با توجه به این اطلاعات سطح دسترسی کاربر رو تعیین میکنم:


form_load
{
.
.
.
dataset ds=new dataset();
ds.clear()
dataadapter.fill(ds,"Log_Tbl");

Karbari_Lbl.databindings.()clear

Karbari_Lbl.DataBindings.Add(new Binding("Text", ds, "Log_Tbl.Username

بایند اطلاعات باتوجه به مقدار Karbari_Lbl
{


حالا وقتی برا اولین بار کاربر وارد میشه اطلاعات با توجه به مقدار Karbari_Lbl درست بایند میشه ولی وقتی فرم اصلی بسته میشه و کاربر دیگری وارد میشه با اطلاعات همون کاربر اول وارد میشه،مگه کل برنامه یه بار باز و بسته بشه.راه حلی هست؟ممنون میشم.

vandermond
شنبه 23 مرداد 1389, 10:16 صبح
دوست عزيز كاملتر بگيد كه بفهميم (بفهمم:چشمک:).
در ضمن توي اينجا:

dataadapter.fill(ds,"Log_Tbl");
ds.clear()
هنوز ديتاست رو پر ميكني، باز پاكش ميكني؟؟؟
يه نكته ديگه: كدهات رو توي تگ هاي مخصوص بزار لطفا.

airsoft
شنبه 23 مرداد 1389, 10:25 صبح
دوست عزيز كاملتر بگيد كه بفهميم (بفهمم:چشمک:).
در ضمن توي اينجا:

dataadapter.fill(ds,"Log_Tbl");
ds.clear()هنوز ديتاست رو پر ميكني، باز پاكش ميكني؟؟؟
يه نكته ديگه: كدهات رو توي تگ هاي مخصوص بزار لطفا.

ببخشید،درستش کردم.میشه بگین کجاش مبهمه!!

vandermond
شنبه 23 مرداد 1389, 10:53 صبح
شما گفتي فرم اصلي اگه بسته بشه دفعه بعدي باز هم با همون مشخصات كاربري وارد ميشه. فرم اصلي بسته بشه كه خارج ميشه. منظورت فرم اصلي برنامه هستش كه فرم اصلي در واقع نيست(فرم اصليت احتمالا لاگين هستش)
در كل اينطوري من كه نميتونم بفهمم مشكل كجاست. به قول يكي از مديرا مجبورم يه چيزي بپرونم شايد درست بشه اينم يكي از اونا: توي Form_Closing كل چيزايي كه مربوط به كاربر هستش رو null كن ببين درست ميشه؟

airsoft
شنبه 23 مرداد 1389, 11:10 صبح
شما گفتي فرم اصلي اگه بسته بشه دفعه بعدي باز هم با همون مشخصات كاربري وارد ميشه. فرم اصلي بسته بشه كه خارج ميشه. منظورت فرم اصلي برنامه هستش كه فرم اصلي در واقع نيست(فرم اصليت احتمالا لاگين هستش)
در كل اينطوري من كه نميتونم بفهمم مشكل كجاست. به قول يكي از مديرا مجبورم يه چيزي بپرونم شايد درست بشه اينم يكي از اونا: توي Form_Closing كل چيزايي كه مربوط به كاربر هستش رو null كن ببين درست ميشه؟

خیلی آقایی!
بذارین به حساب مبتدی بودنم.فرم اصلی منظورم فرمیه که بعد از فرم login باز میشه.راهنماییتون رو انجام دادم و برنامه رو خط به خط اجرا کردم،معلوم شد بایند اطلاعات به lable پس از لود کامل فرم انجام میشه نه قبل از اونجایی که من میخوام شرط رو با توجه به مقدار lable چک کنم.حالا چطور میتونم این مشکل رو حل کنم؟

vandermond
شنبه 23 مرداد 1389, 11:25 صبح
نفهميدم چي شد. ببخشيد ها. 5 شش بار خوندم باز هم نفهميدم. ليبل چيه؟ چي داره؟ و ...

airsoft
شنبه 23 مرداد 1389, 11:41 صبح
نفهميدم چي شد. ببخشيد ها. 5 شش بار خوندم باز هم نفهميدم. ليبل چيه؟ چي داره؟ و ...

منظورم همون lable که نام کاربری کاربر وارد شده توسط دستور زیر بهش بایند میشه و من با توجه به نام کاربری وارد شده می خوام یه سری شرط روی اطلاعاتی که آن کاربر باید دسترسی داشته باشه میذارم:

Karbari_Lbl.DataBindings.Add(new Binding("Text", ds, "Log_Tbl.Username

ولی ظاهرا این بایند اطلاعات قبل از شرط من انجام نمیشه و برنامه یا نام کاربر قبلی رو استفاده میکنه یا با مقدار null که شما گفتین خطا میده!!!

حجتی نیا
شنبه 23 مرداد 1389, 12:07 عصر
اول فرم لاگین باز میشه و بعد وارد کردن یوزر،فرم اصلی یا در لود فرم اصلی، فرم لاگین رو باز میکنین ؟؟؟
(توضیح کامل از اجرای برنامه بدین یا کد رو کامل بزارین ..)

airsoft
شنبه 23 مرداد 1389, 13:18 عصر
اول فرم لاگین باز میشه و بعد وارد کردن یوزر،فرم اصلی یا در لود فرم اصلی، فرم لاگین رو باز میکنین ؟؟؟
(توضیح کامل از اجرای برنامه بدین یا کد رو کامل بزارین ..)
1-برنامه من دارای 2 فرم میباشد.
2-وقتی برنامه اجرا میشود،فرم login باز میشود.
3-کاربر اطلاعات امنیتی را وارد کرده و جایی از برنامه را که میخواهد(دسترسی دارد) ببیند،مشخص میکند.
4- با زدن دکمه ورود توسط کاربراطلاعات امنیتی و تنظیمات انتخاب شده در جدول Log_Tbl که یک سطر دارد و در هر ورود آپدیت میشود درج میشود.
5- در صورت درست بودن اطلاعات وارد شده فرم Login به system try میرود و فرم دوم برنامه باز میشود.
6- در رویداد form2_load دستور زیر نام کاربری را به karbari_Lbl بایند میکند:



dataset ds=new dataset();
dataAdapter da=new dataAdapter()
ds.clear();
Karbari_Lbl.DataBindings.clear();
da.Fill(ds,"Log_Tbl");
Karbari_Lbl.DataBindings.Add(new Binding("Text", ds, "Log_Tbl.Username"));

grideview binding........
etc

7-لازم به ذکر است بایند اطلاعات به گرید با توجه به مقدار Karbari_Lbl انجام میشود.
8-اولین کاربر به درستی دسترسی پیدا کرده و از فرم دوم خارج میشود.در رویداد form2_closing ، مقدار Karbari_Lbl برابر null میشود.
9-کاربر دوم فرم login را از system try اجرا میکند.
10-وقتی اطلاعات امنیتی و تنظیمات را انجام و ورود میکند،با اجرای خط به خط معلوم میشود مقدار Karbari_Lbl برابر null است.مشکل کجاست؟؟؟!!!!

vandermond
شنبه 23 مرداد 1389, 16:50 عصر
دوست عزيز
اگه ميتوني برنامه رو بزار. (يا يه برنامه كوچيك ديگه درست كن كه فقط اين قسمت رو داشته باشه، اگه نميخاي اين
برنامه رو بدي).
من الان چيز خاصي نميبينم كه مشكل ايجاد كنه. بقيه كد شايد جاييش مشكل داره.
اجراي خط به خط هم كه خيلي كمك ميكنه خودت ميتوني بفهمي چرا پر نميشه. اگه نشد بزارش كه ما هم كار كنيم روش.