PDA

View Full Version : چک کردن مشخصات



ascpro
پنج شنبه 17 اسفند 1385, 12:58 عصر
با سلام به همگی و خسته نباشید.
من در برنامه ام دو تا فرم دارم.که فرم اولی ثبت مشخصات و فرم دومی جستجو است.
فیلد های این برنامه:tel,lname,name,id که فیلد id (Autonumber است.
میخواهم وقتی در فرم ثبت مشخصات روی lname(textbox آمدم در رویداد lostfocus چک کند که اگر مشخصات را من قبلا وارد کردم بهم خطا یا جای مشخصات را برام پر کنه.
ممنون.:قلب:

ascpro
پنج شنبه 17 اسفند 1385, 18:53 عصر
یعنی هیچکی جوابه منو بلد نیست.لطفا کمکم کنید.
اگر متوجه نشدید میخواین دوباره سوالمو طرح کنم.منتظرم

behzad_gh
پنج شنبه 17 اسفند 1385, 19:03 عصر
میخواهم وقتی در فرم ثبت مشخصات روی lname(textbox آمدم در رویداد lostfocus چک کند که اگر مشخصات را من قبلا وارد کردم بهم خطا یا جای مشخصات را برام پر کنه.
ممنون.:قلب:
:متعجب:
سلام من که متوجه نشدم منظورتون چیست لطفا بیشتر توضیح دهید.

ascpro
پنج شنبه 17 اسفند 1385, 20:22 عصر
یعنی اینکه میخواهم از dataset چک کنه که اگر قبلا مشخصات نام و نام خانوادگی این شخص را وارد کردم در textbox ی که دارم نام خانوادگی رو میدم بهم خطا بده یا مشخصاتشو برام پر کنه.ok? فقط یک چیزایی میدونم که باید در رویداد Lostfocus بنویسیم اگر اشتباه نکنم.
لطفا اگر کسی بلده ممنون میشم جوابشو زودتر بده.

ghafoori
پنج شنبه 17 اسفند 1385, 20:32 عصر
دوست عزیز من اینکار را پیشنهاد می کنم داخل اطلاعاتون با bindingsource و یا dataview در datasetجستجو کنید اگر رکورد مشابهی پیدا کردید پیغام بدهید یا هرکاری که می خواهید انجام دهید

Alireza_Salehi
پنج شنبه 17 اسفند 1385, 20:32 عصر
اگر منظورتون رو درست فهمیده باشم:
شما با استفاده از شی Connection ، Command و DataReader میتونی در همون رویدادی که گفتی دیتابیس رو چک کنی و اگر چیزی وجود داره نمایش بدی (البته این از طریق کد نویسیه)!

البته میتونی قبل از ورود اطلاعات توسط کاربر یک AutoCompleteStringCollection (http://www.barnamenevis.org/forum/T_System_Windows_Forms_AutoCompleteStringCollectio n.htm) بسازی و از خاصیت TextBox.AutoCompleteMode استفاده کنی (البته به نظرم همون روش اول بهتره- اگر داده ها زیاد باشند)!

ascpro
پنج شنبه 17 اسفند 1385, 20:36 عصر
ممنونم.میشه یکم بیشنر راهنمائیم کنید.

Alireza_Salehi
پنج شنبه 17 اسفند 1385, 22:10 عصر
این هار توی رویداد مورد نظر بنویس ، در شرط if هم هر کاری خواستی بکن!


Dim con As New SqlConnection("YourConnectionString")
Dim cmd As New SqlCommand("SELECT name,lname,tel FROM table1 WHERE lname='" + txtlname.Text + "'", con)
con.Open()
Dim r As SqlDataReader = cmd.ExecuteReader()
If r.Read() Then
txtname.text = r("name").ToString()
txtlname.text = r("lname").ToString()
txttel.text = r("tel").ToString()
End If
con.Close()
البته این برای حالتیه که نام خانوادگی منحصر بفرد باشه ، اگر نباشه دیتاریدر چند رکورد رو شامل میشه که باید در یک حلقه با توجه به کاربردتون بهش رسیدگی کنید.

همون طور که دوستمون گفتند اگر دیتاست یا ... استفاده کردی توی اون هم میتونی جستجو کنی.

در ضمن Try Catch هم برای جلوگیری از خطا یادت نره!