PDA

View Full Version : اجرای یک button فقط برای برای یکبار



bahar2008
دوشنبه 29 بهمن 1386, 08:38 صبح
سلام دوستان خوبم

من در برنامم یک butoon تعریف کردم که کاربر می تواند با زدن اون دکمه مشخصات خودش رو به بانک بفرسته .

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

به نظر شما کدوم راه جواب می ده و چطوری باید انجامش بدم؟

Dariuosh
دوشنبه 29 بهمن 1386, 09:05 صبح
خوب میتونی مثلاً از ورود خروج کاربرات Log بگیری بعد اول برنامه چک کنی که آخرین نفری که اومده Log Off کرده یا نه
یا یه کارایی تو این مایه

bahar2008
دوشنبه 29 بهمن 1386, 09:14 صبح
ممنونم از راهنماییتون دوست عزیز

اگر ممکنه بیشتر توضیح بدین و یا کدش رو برای من قرار بدین آخه من تازه کار با vb.net رو شروع کردم و در حد یک مبتدی هستم :ناراحت:

saghari
دوشنبه 29 بهمن 1386, 10:13 صبح
با سلام
اگه درست متوجه شده باشم شما میخواهید فقط در اولین مرتبه ای که کاربری به سیستم شما وصل میشه بتونه مشخصاتش رو ثبت کنه. اگه منظورتون اینه میتونید از روش زیر استفاده کنید.
با استفاده از رجیستری. یعنی یه key تو رجیستری بسازید و بوسیله اون چک کنید قبلا کاربر عملیات ثبت رو انجام داده یا نه
مسلما این تنها روش نیست.
اگر هم منظورتون چیز دیگه ای بهتر توضیح بدین تا دوستان هم بهتر راهنمایی کنن.
موفق باشید

saman_itc
دوشنبه 29 بهمن 1386, 10:43 صبح
با تایید صحبت های دوستان
اگه امکان داره یه مثال از regedit بزارین ممنون
راه آسون ترش اینه که یه فیلید داشته باشی که خالی باشه
اولین بار با یه مقار پر میشه
و یه شرط می زاری که چک کنه اگه پره خطا بده و اگه خالی پر کنه
با این شرایط فقط یه بار میتونه پر کنه فیلد

bahar2008
دوشنبه 29 بهمن 1386, 11:06 صبح
منظور من دقیقا این هست که من در برنامم یک butoon تعریف مشخصات دارم که می خوام وقتی یک نفر اطلاعاتش رو وارد کرد و در بانک ثبت شد کس دیگه ای اگر خواست دوباره اطلاعاتش رو وارد کنه نتونه و با پیغام خطا مواجه بشه.

به نظر شما با دستور count توی بانکم می تونم این کارو انجام بدم که اگر تعداد ردیف هاش بیشتر از یکی بود بانکم قفل بشه و اطلاعات نتونه وارد بشه ؟
اگر با این امکان مشکل حل می شه چه جوری باید دستورش رو بنویسم؟

سامان عزیز چون این برنامه قرار هست که در کامپیوتر های مختلف اجرا بشه اگر امکان داره راهی رو معرفی کنید که از طریق خود vb.net و یا sql این مشکل حل بشه و لازم نباشه هر دفعه در کامپیوترهای مختلف وارد regedit بشم.

Dariuosh
دوشنبه 29 بهمن 1386, 12:08 عصر
اگر برا ثبت اطلاعات میخوای چک کنی که User قبلاً ثبت شده یا نه ، خوب میتونی یه Select هم بنویسی ، همون Count جواب میده
اگر این کارو نمیخوای بکنی بازم نفهمیدم مشکلت چیه

amirsajjadi
دوشنبه 29 بهمن 1386, 12:38 عصر
با سلام
میتونی با استفاده از SaveSetting و Getsetting اطلاعات رو توی رجیستری ذخیره کنی

visual_sadegh
دوشنبه 29 بهمن 1386, 12:54 عصر
فکر کنم برنامه شما سایته نه اپلیکیشن ویندوز
ولی در هر حال شما می تونی به این شکل عمل کنی

Dim Cn As New SqlClient.SqlConnection("Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=AAA;Data Source=BBB")
Dim Cmd As New SqlClient.SqlCommand("Select Count(*) From Table1", Cn)
If Cmd.ExecuteScalar > 0 Then
MsgBox("پیغام شما مجاز به تعریف کاربر نیست")
Exit Sub
End If

بجای AAA نام پایگاه داده و بجای BBB نام سرور را ذکر کنید.

seeker
دوشنبه 29 بهمن 1386, 14:39 عصر
اگر سایته که من نمیدونم ولی اگر اپلیکیشن هست تو ستینگ برنامت یه بولین درست کن که وقتی دکمه ورود اطلاعات زده شد مقدارشو عوض کنه و هردفعه که اجرا میکنی اول مقدار بولین ستینگتو چک کنه؟

saman_itc
دوشنبه 29 بهمن 1386, 15:29 عصر
راه آسون ترش اینه که یه فیلید داشته باشی که خالی باشه
اولین بار با یه مقار پر میشه
و یه شرط می زاری که چک کنه اگه پره خطا بده و اگه خالی پر کنه
با این شرایط فقط یه بار میتونه پر کنه فیلد
روشی که من گفتم ربطی به Regedit نداره خانم بهار


فکر کنم برنامه شما سایته نه اپلیکیشن ویندوز
ولی در هر حال شما می تونی به این شکل عمل کنی

Dim Cn As New SqlClient.SqlConnection("Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=AAA;Data Source=BBB")
Dim Cmd As New SqlClient.SqlCommand("Select Count(*) From Table1", Cn)
If Cmd.ExecuteScalar > 0 Then
MsgBox("پیغام شما مجاز به تعریف کاربر نیست")
Exit Sub
End If

بجای AAA نام پایگاه داده و بجای BBB نام سرور را ذکر کنید.
این کاملا درسته.اگه با اکسس هم میخواهین بزارم

Evil 69
سه شنبه 30 بهمن 1386, 10:23 صبح
بهترین راه همون راه visual_sadegh (http://barnamenevis.org/forum/member.php?u=19493) vbmenu_register("postmenu_469653", true); هستش که توی یک بانک نگاه کنی ببینی که ایا رکوردی هست یا نه اگر نبود که هیچ و گر نه یک پیغام بده یا اگر هم نخاستی با بانک یک فایل درست کن و همون کارهای اون رو توی یک فایل انجام بده

bahar2008
سه شنبه 30 بهمن 1386, 11:57 صبح
سلام به همه دوستان خوبم

ممنونم از کدی که نوشتید آقا صادق
واقعا خیلی بهم کمکم کردید و تونستم مشکلم رو حل کنم :قلب::قلب::قلب::قلب::قلب: