PDA

View Full Version : جستجو در بانک به صورت کارکتر به کارکتر



hassan_123
پنج شنبه 08 فروردین 1387, 18:50 عصر
با سلام
من میخوام در برنامه ، در بانک sql 2000 جستجو کنم و برای این جستجو میخوام که بر اساس کاراکتر باشه (یعنی وقتی که من حرف ی را در textbox وارد کردم در datagird یا در text box تمامی اسمهای که حرف اول آن ی است را نشان دهد به همین ترتیب حروف بعدی را هم همین حالت باشد بعنوان مثال میخواهیم بر اساس نام ، نام یاسر را جستجو کنیم اول حرف ی بعد حرف الف بعد حرف س بعد حرف ر که با زدن هر کدام از این حروف تمامی نامهای که این حروف در آن وجود دارد را نمایش دهد )

fereshtehrahimi
پنج شنبه 08 فروردین 1387, 19:09 عصر
از دستور sql زیر در event chang textbox استفاده کنید
"'%"& select * from tblname wher name like='%" & text1.text

hassan_123
یک شنبه 11 فروردین 1387, 00:42 صبح
سلام
با تشکر از راهنمایی شما اگه بخوایم نتیجه جستجو رو در datagird یا در list view نمایش بدیم چطوری میشه .

reza6384
یک شنبه 11 فروردین 1387, 02:00 صبح
سلام. ممکنه به یه مشکل در آینده بر بخوری و اون اینه :
مثلا توی فیلد نام دو تا اسم به اسم یاشار و یاسین داشته باشی. اما وقتی در TextBox وارد می کنی "ی" هیچ نتیجه ای رو بهت نشون نده. چون حرف ی و بعضی حروف فارسی بیشتر از یک ردیف توی کاراکترست Unicode دارن و ممکنه "ی" با یک کد ذخیره شه و با کد دیگه جستجو که اونوقت این مشکل پیش میاد( در صورتی که رکورد ها از یک کامپیوتر به کامپیوتر دیگه بره یا اینکه فایل KBDfA.DLL رو عوض کنی ) . پس پیشنهاد می کنم این فایل KBDFA.DLL رو قبل از ورود رکورد ها توی پوشه System32 جایگزین کن و هرجا خواستی از رکوردها استفاده کنی اینو همونجا هم جایگرین کن که ب این مشکل یهو بعد از ورود 10000 رکورد برنخوری.

برای جایگزینی این فایل باید اینکارو توی Safe Mode ویندوز انجام بدی.

reza6384
یک شنبه 11 فروردین 1387, 02:08 صبح
اگه بخوایم نتیجه جستجو رو در datagird یا در list view نمایش بدیم چطوری میشه


باید توی event اه KeyUp اه TextBox ات این کد رو وارد کنی :



Dim DS AsNew DataSet
Dim Result AsNew DataTable("Result")
DS.Tables.Add(Result)
Dim Query AsString = "Select * from Customers where Name like N'%" & TextBox1.Text & "%'"

Dim Conn As new SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=True;")
Dim SDA As New SqlDataAdapter(Query,Conn)
SDA.Fill(DS,"Result")
DGV1.DataSource = DS 'DataGridView
DGV1.DataMember = "Result"


اون N عزیر هم به خاطر Unicode هست.

hassan_123
دوشنبه 12 فروردین 1387, 01:45 صبح
سلام
با تشکر از شما خیلی ممنونم حسابی بکارم اومد
اما یه سوال دیگه : حالا اگه بخوام این جستجو کردن رو طوری به کار ببرم که بتونم بعنوان اولین فرم برنامه از کابر برنامه روز عبور و کلمه عبور بخوام که در صورت درست بودن اجازه استفاده از مراحل دیگر برنامه رو بده.
باتشکر از کمک قبلی شما دوستان .

hno2005
دوشنبه 12 فروردین 1387, 07:54 صبح
از دستور sql زیر در event chang textbox استفاده کنید
"'%"& select * from tblname wher name like='%" & text1.text


با سلام
این خط رو به چه صورت باید در قسمت event change textbox وارد کنم؟

fereshtehrahimi
چهارشنبه 14 فروردین 1387, 13:28 عصر
سلام
من از این کد در ویبی استفاده کردم
ایمیلتان را برام بزارید تا برنامه را برایتان میل کنم

MOSTAFANAVVAB
پنج شنبه 15 فروردین 1387, 13:02 عصر
باید توی event اه KeyUp اه TextBox ات این کد رو وارد کنی :



Dim DS AsNew DataSet
Dim Result AsNew DataTable("Result")
Dim Query AsString = "Select * from Customers where Name like N'%" & TextBox1.Text & "%'"

Dim Conn As new SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=True;")
Dim SDA As New SqlDataAdapter(Query,Conn)
SDA.Fill(DS,"Result")
DGV1.DataSource = DS 'DataGridView
DGV1.DataMember = "Result"


اون N عزیر هم به خاطر Unicode هست.
__________________________________________________ _______________


مشتی پدرم درآمد ولی این کد کار نکرد
یک کاری بکن
جون هرکی که دوست داری
کمکم کنید
m232007@yahoo.com

fereshtehrahimi
جمعه 16 فروردین 1387, 19:43 عصر
از این مثال استفاده کنید حتما جواب می دهد .

reza6384
شنبه 17 فروردین 1387, 10:50 صبح
سلام. ببخشید، یک خط کد رو جا انداخته بودم :



DS.Tables.Add(Result)


نوشته ام رو اصلاج کردم.
با تشکر از توجهتون

reza6384
شنبه 17 فروردین 1387, 11:37 صبح
سلام
با تشکر از شما خیلی ممنونم حسابی بکارم اومد
اما یه سوال دیگه : حالا اگه بخوام این جستجو کردن رو طوری به کار ببرم که بتونم بعنوان اولین فرم برنامه از کابر برنامه روز عبور و کلمه عبور بخوام که در صورت درست بودن اجازه استفاده از مراحل دیگر برنامه رو بده.
باتشکر از کمک قبلی شما دوستان .

شما باید یک فرم Login برای برنامتون استفاده کنید. من فرم login برنامه خودم رو اینجا گذاشتم البته با یک سری حذفیات . فقط توی کلاس BestFunctions :



Function ConnectionString() AsString
Dim Connect AsString = "Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True"
Return Connect
EndFunction


به جای MyDataBase اسم Database خودتون رو بنویسید. توی Database اتون یک جدول به نام Users با فیلدهای UserName و Password ایجاد کنید و UserName رو هم کلید جدول کنید.

اگه کمی یا کاستی داره ببخشید، فقط یه مثال ساده است که ببینید باید چجوری درستش کرد. اگر هم سوالی داشتید بپرسید.

reza6384
شنبه 17 فروردین 1387, 11:47 صبح
ببخشید، فایلش جا موند و با ویرایشگر هم نتونستم دیگه Attach کنم.