PDA

View Full Version : سوال: سوال در مورد لود نشدن فرم



Milo_22
شنبه 21 اسفند 1389, 14:29 عصر
با سلام به دوستان
من یک برنامه ای برای پایان نامه ام طراحی کردم که یک فرم ثبت کاربر admin داره که می خواهم فقط در زمان اجرای برنامه برای یک بار اجرا بشه و دفعات بعد که برنامه اجرا می شه زمانی که کاربر admin ثبت سیستم شد دیگه این فرم نمایش داده نشه !
حالا نمی دونم باید چه کار انجام بدم برای این کارم ؟
ضمن اینکه من دارم برنامه رو به صورت لایه ای طراحی می کنم و برای کار با بانک داده از stored procedure استفاده کردم .
ممنون می شم راهنماییم کنید...

ehsanara
شنبه 21 اسفند 1389, 14:55 عصر
میتونید یه فیلد تو دیتابیس داشته باشید با یه مقدار 0 یا 1 که چک کنه و با اون مقدار فرم رو نشون بده یا نه

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

Milo_22
شنبه 21 اسفند 1389, 22:47 عصر
خوب من داخل بانک داده ام یک فیلد به نام validation دارم که با ثبت کاربر admin اون فیلد به صور خودکار مقدارش 1 میشه ! حالا چطوری چک کنم ؟
اگر از settings های خود برنامه ویژوال استودیو بخوام استفاده کنم چطوریه ؟
یا اگر بخوام از application.config استفاده کنم چطوری میشه ؟ ممکنه راهنماییم کنید ؟
ممنون از لطفتون

m.soleimani
شنبه 21 اسفند 1389, 23:23 عصر
با سلام به دوستان
من یک برنامه ای برای پایان نامه ام طراحی کردم که یک فرم ثبت کاربر admin داره که می خواهم فقط در زمان اجرای برنامه برای یک بار اجرا بشه و دفعات بعد که برنامه اجرا می شه زمانی که کاربر admin ثبت سیستم شد دیگه این فرم نمایش داده نشه !
حالا نمی دونم باید چه کار انجام بدم برای این کارم ؟
ضمن اینکه من دارم برنامه رو به صورت لایه ای طراحی می کنم و برای کار با بانک داده از stored procedure استفاده کردم .
ممنون می شم راهنماییم کنید...

شما به جای این همه دردسر یه کاربر ادمین پیش‌فرض با پسورد بازم پیش‌فرض تعریف کن ولی اجبار کن در صورت که مقدار فیلد validationتون یک نباشه حتمن نام ادمین و پسوردش باید تغییر کنه تا برنامه به حالت شروع وارد بشه و در آینده هم چون فیلد مورد نظر مقدارش یک شده دیگه پرسیده نخواهد شد موفق باشید./

ehsanara
شنبه 21 اسفند 1389, 23:48 عصر
میتونی تو برنامه موقع Load فرم اول ببینه اگه Validation صفر هست فرم Admin نشون داده شه و اگه یک بود هم فرم Admin نیاد
میتونی با یه StroeProcedure و ExecuteScalar این مقدار رو چک کنی

Milo_22
یک شنبه 22 اسفند 1389, 12:09 عصر
خوب من یک همچین کاری رو کردم که داخل فایل settins.settins اومدم یک مقدار int تعریف کردم بعد اومدم از داخل فایل program.cs همچین کدی رو نوشتم :
if (Properties.Settings.Default.Validation == 0)
{
Application.Run(new frmHide());
}
else
{
Application.Run(new frmLogin());
}

منتها برای چک کردن با کمک stored procedure بلد نیستم . ممکنه راهنمایی کنید ؟ ببخشید ...

Hossenbor
یک شنبه 22 اسفند 1389, 17:06 عصر
من متوجه نشدم این شخصی که مجوز ورود داره چرا اینو با مجوز ورود ترکیب نمی کنید

Milo_22
یک شنبه 22 اسفند 1389, 19:18 عصر
من متوجه نشدم این شخصی که مجوز ورود داره چرا اینو با مجوز ورود ترکیب نمی کنید

یعنی چطوری ؟
الآن من اومدم این کار رو کردم که داخل لایه DAL یک همچین چیزی نوشتم :

public Boolean chek_validate()
{
object ob;
cmdchekd = new SqlCommand();
cmdchekd.CommandText = "[dbo].[check_validate]";
cmdchekd.CommandTimeout = 0;
cmdchekd.CommandType = CommandType.StoredProcedure;
con = new SqlConnection(strcon);
cmdchekd.Connection = con;
try
{
con.Open();
ob = cmdchekd.ExecuteScalar();
con.Close();
if (ob != null)
{
validate = true;
}
}
catch (SqlException)
{
throw;
}

return validate;
}


بعدش اومدم داخل لایه BLL اینطوری نوشتم :

public Boolean chek_validate()
{
Boolean res = false;
DAL.DALBase obj = new DAL.DALBase();
try
{
res = obj.chek_validate();
}
catch
{
}

return res;
}


بعد باز داخل لایه UI این کد رو داخل فرم لود نوشتم :

private void frmHide_Load(object sender, EventArgs e)
{
BLL.BLLBase obj = new BLL.BLLBase();
obj.chek_validate();
}


حالا برنامه را امتحان نکردم ( یعنی داخل بانک اطلاعاتی اضافه نکردم ! ) ولی فعلا بدون پیغام خطا اجرا میشه .
حالا ممکنه لطفا برام بگین چطوری باید این کاری رو که شما می فرمایید انجام بدم ؟
ببخشید بازم ...