PDA

View Full Version : فرم login



mahdivita
جمعه 06 اردیبهشت 1392, 10:45 صبح
سلام
من به این روش فم لوگین درست کردم اما حالا یه مشکل دارم:
در داخل فرمم 4 تا تکست باکس قرار دادم و دو تاشون رو به بانک متصل کردم و دوتایه دیگه رو متصل نکردم و کدش رو به این شکل نوشتم :

Private Sub Button1_Click()
If (Text1.Text = Text3.Text) And (Text2.Text = Text4.Text) Then
login.Hide
start.Show
Else
MsgBox "áØÝÇ ÏæÈÇÑå ÊáÇÔ ˜äíÏ", vbCritical, "ÇÎØÇÑ"
End If
End Sub

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

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

SlowCode
جمعه 06 اردیبهشت 1392, 13:24 عصر
سلام
کنترل ها رو به دیتابیس متصل نکن، یعنی سعی کن مقادیر رو با کد نویسی مستقیما از دیتا بگیری. مثلا:

adodc1.recordsource="select * from tbladmin where username ='" & text1 & "' and password='" & text2 & "'"
if adodc1.recordset.recordcount=0 then
msgbox "کاربری با این مشخصات یافت نشد"
else
start.show
unload me
End if

mahdivita
جمعه 06 اردیبهشت 1392, 14:44 عصر
خب من این روش رو قبلا کسی بهم گفته بود اما من از همون روشی که گفتم میخوام انجام بدم چون مبتدی هستم و این رو برای پروژمون باید انجام بدم و اگر از کدی که شما میگین استفاده کنم معلممون میفهمه که خودم ننوشتم و نمره کم میکنه

از طریق روش خودم باید چی کنم؟؟؟؟

SlowCode
جمعه 06 اردیبهشت 1392, 21:11 عصر
چی بگم والا...!
پس با این روش بنویس:

with adodc1.recordset
.movefirst
while .eof=false
If (Text1.Text = Text3.Text) And (Text2.Text = Text4.Text) Then
start.Show
unload me
Else
.movenext
End If
Wend
msgbox "کاربری با این مشخصات یافت نشد"
End with

mahdivita
جمعه 06 اردیبهشت 1392, 23:14 عصر
ممنون :قلب::قلب::قلب:

همین روش رو با کدی خیلی خیلی ساده تر میشه نوشت؟؟؟(امنیت مهم نیست)

m.4.r.m
شنبه 07 اردیبهشت 1392, 00:27 صبح
اگر امنیت برای شما مهم نیست ولی سعی کنید اصولی یاد بگیرید و اصولی طراحی و برنامه بنویسید تا در مراحل بالاتر سواد شما نیز افزایش یابد و به تکه کد ساده بسنده نکنید دوست خوبم . موفق باشید

mahdivita
شنبه 07 اردیبهشت 1392, 14:26 عصر
ممنون

من منظورم این هستش که توی این پروژم امنیت مهم نیست چون مبتدی هستم با نوشتن این کدها معلممون میفهمه خودم ننوشتم و نمره کم میکنه
اگه میشه یه کم ساده تر و مبتدی تر بنویسین مثلا بدون with یا while

ممنون میشم
تو رو خدا خیلی مهم هست
:گریه::گریه::ناراحت::ناراحت:

mahdivita
شنبه 07 اردیبهشت 1392, 20:09 عصر
لطفا یکی راهنمایی کنه

:افسرده::افسرده::افسرده::افس ده:

SlowCode
شنبه 07 اردیبهشت 1392, 20:23 عصر
بابا تو دیگه کی هستی؟!!!
یه with رو نمیتونی حذف کنی!

adodc1.recordset.movefirst
while adodc1.recordset.eof=false
If (Text1.Text = Text3.Text) And (Text2.Text = Text4.Text) Then
start.Show
unload me
Else
adodc1.recordset.movenext
End If
Wend
msgbox "کاربری با این مشخصات یافت نشد"

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

mahdivita
شنبه 07 اردیبهشت 1392, 20:53 عصر
ممنون :قلب::قلب:
آخه سئوال هم از کدهایی که نوشتید میپرسه
خجالت میکشم این رو بگم ولی مجبورم
میشه از while استفاده نکرد و یا اینکه به جاش از for استفاده کرد؟؟؟؟

SlowCode
شنبه 07 اردیبهشت 1392, 21:23 عصر
بله میشه. به نظرم هرچه زودتر مباحث اولیه رو یاد بگیری بهتره.

for i=1 to adodc1.recordset.recordcount
'Codes
Next

کدهای داخل while رو داخل این حلقه بنویس.