ورود

View Full Version : جستجو در بانک اطلاعاتی



error2009
چهارشنبه 04 آبان 1390, 23:10 عصر
سلام خسته نباشید
من دارم یک برنامه کتابخانه مینویسم.
یه بخش تعریف کاربر گذاشتم که میخوام کاربر نام کاربری و پسوردشو تو دوتا تکس باکس بنویسه بعد اگه نام کاربری و رمز عبورش صحیح بود وارد سیستم بشه.
نمیدونم چجوری بنویسم که اول بیاد نام کاربری رو پیدا کنه بعد رکورد بعدی شو با تکس دوم مقایسه کنه اگه رمز درست بود وارد بشه هرچی با دستور Recordset.FindFirst کار کردم نتونستم
ممنون میشم کمک کنید.

MohammadGh2011
چهارشنبه 04 آبان 1390, 23:29 عصر
سلام اگه بانک اطلاعاتيتون اکسس هست به راحتي ميتونيد اين کار رو انجام بديد که اول بايد يک جدول بسازيد و با فيلدهاي username , Passwordو...
دوست عزيز لينک زير را بازکنيد در پست اول يک برنامه هست اون رو دانلود کنيد و کدهاش رو بررسي کنيد اون برنامه هم همين کار رو انجام داده
http://barnamenevis.org/showthread.php?179171-%D8%B3%D9%88%D8%B1%D8%B3-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D9%88-%D8%AD%D8%B3%D8%A7%D8%A8%D8%AF%D8%A7%D8%B1%DB%8C-(MST-)-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86&highlight=MST

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

error2009
چهارشنبه 04 آبان 1390, 23:36 عصر
دوست عزیز خیلی لطف کردید واقعا ممنونم
من اینو نوشتم
Adodc1.RecordSource = "Select *from Table1 where user='" & Text1.Text & "'"
ولی میخوام پسوردم باهاش چک بشه اگه اشتباه بود پیغام بده
شرمنده که من یکم مبتدیم

error2009
پنج شنبه 05 آبان 1390, 07:58 صبح
دوستان اگه یکی لطف کنه جواب منو بده خیلی خیلی ممنون میشم.
درحقیقت میخوام از دوتا تکس باکس یوزرنیم و پسوردو بگیرم اگه درست بود وارد سیستم شه اگر نه پیغام بده نام کاربری یا گذرواژه اشتباه است.
با سپاس از لطف دوستان.

ali190
پنج شنبه 05 آبان 1390, 08:51 صبح
سلام
دوست من روش اعتبار سنجی کاربران به این گونه هست که یوزرنیم و پسورد باید همزمان چک شود
Adodc1.RecordSource = "Select *from Table1 where user='" & Text1.Text & "' and pass='"&me.text2.text&"'"
بعد از این بررسی یک شرط به صورت زیر بنویسید
اگر Adodoc.recordset.recordcount مقدارش بزگتر از صفر بود کاربر وارد سیستم شود در غیر اینصورت وارد نشود
همین
یاعلی

error2009
پنج شنبه 05 آبان 1390, 22:33 عصر
بازم سلام
بابت کمک هایی که به من کردید خیلی ممنونم ولی من هنوز موفق نشدم.
من یه فرم دارم که دوتا تکس باکس داره به اسم تکس 1 وتکس 2
تکس 1 یوزرنیم و تکس 2 پسورد و میگیره
یه دیتابیس هم درست کردم که یک جدول به اسم تیبل یک داره که سه تا فیلد آی دی ...یوزر و پسورد داره .
و یک فیلد با آی دی 1، یوزر ادمین و پسورد ادمین پر کردم ودستور زیرو توی کامند باتن نوشتم
If (Adodc1.RecordSource = "Select *from Table1 where Password='" & Text2.Text & "'") Then
frmMain.Show
Else
MsgBox ("Error")
End If
ولی فرم مین رو به هم نشون نمیده و ام اس جی باکس رو میاره درصورتی که من توی تکس دو ادمین مینویسم.
واقعا ممنون میشم کمکم کنید.

error2009
جمعه 06 آبان 1390, 09:16 صبح
سلام میشه یکی جواب منو بده خیلی ممنون

ali190
جمعه 06 آبان 1390, 10:06 صبح
سلام
نمونه برنامه ات رو اینجا جهت بررسی ضمیمه کن
یاعلی

error2009
جمعه 06 آبان 1390, 10:23 صبح
آقا خیلی ممنون
http://www.mediafire.com/?3ac3qycc0nlsihc

ali190
جمعه 06 آبان 1390, 11:29 صبح
سلام
این کد رو پشت دکمه Login ات بذار
Adodc1.RecordSource = "Select * from Table1 where user='" & Text1.Text & "' and Password='" & Me.Text2.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount <> 0 Then
frmMain.Show
Else
MsgBox "error in login"
End If
یاعلی

error2009
جمعه 06 آبان 1390, 11:34 صبح
دوست عزیز واقعا لطف کردی
من کد رو گذاشتم ولی این خطا رو میگیره
7712077121

ali190
جمعه 06 آبان 1390, 12:15 عصر
سلام
از اتصال adodc به دیتابیست مطوئن شو
اصلاً adodc1 رو حذف کن ، یه adodc دیگه بذار و خواصش رو مجدداً ست کن
مشکل حل میشه
یاعلی

error2009
جمعه 06 آبان 1390, 12:26 عصر
خدا خیرت بده دوست عزیز

error2009
جمعه 06 آبان 1390, 18:13 عصر
بازم سلام دوست عزیز
مرسی که اینهمه کمک کردی و وقتتو گرفتم
یه سوال دیگه با عرض شرمندگی
من یه فیلد دیگه به اسم per درست کردم برای دادن پرمیژن.
حالا بعد از اینکه ادمین تو دیتابیسم پیدا شد میخوام بره محتوای فیلد per مربوط به ادمینو برام تو یه متغییر ذخیره کنه تا بعدا از طریق این متغییر پرمیژن بدم.
واقعا شرمنده

kitcat_m18
شنبه 07 آبان 1390, 17:56 عصر
برو تو يه ماژول يه متغير عمومي تعريف کن مثا اين:

Public Permission As Sring

بعد هر جا که خواستي استفاده کن.

موفق باشي :لبخندساده: