PDA

View Full Version : سوال: عدم جستجو صحیح در اکسس



Pedram_Parsian
پنج شنبه 19 دی 1392, 20:26 عصر
سلام به همه ی برنامه نویسان عزیز و گرامی.
من دارم یک برنامه مدیریت کتابخانه درست می کنم که با دیتابیس اکسس کار میکند.
در این برنامه من می خوام متن نوشته شده در textbox1 رو در فیلد نام داخل دیتابیس جستجو کند.
در دیتابیس من یک جدول به نام BOOKS وجود دارد که می خواهم فیلد Title آن را مورد جستجو قرار دهم.

کدی که من از آن در رویداد text_changed تکس باکس استفاده می کنم کد زیر می باشد :

string txt1 = textBox1.Text;
DataTable oleDataTable = new DataTable();

OleDbConnection cnConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Management Library\\Data Base\\MLDB_V201.accdb;Persist Security Info=False");
cnConnection.Open();

OleDbCommand cmd = new OleDbCommand();
cmd.Connection = cnConnection;
cmd.CommandText = "SELECT * FROM BOOKS WHERE Title = '" + txt1 + "'";
OleDbDataReader dr = cmd.ExecuteReader();
oleDataTable.Load(dr);
DataView dw = new DataView(oleDataTable);
dataGridView1.DataSource = dw;
cnConnection.Close();
cnConnection.Dispose();

این کد کامل کار جستجو را انجام می دهد ولی مشکل من این است که :
مثلا اگر اسم کتاب فیزیک باشد. اگر شما حروف "فیز" رو جستجو کنید هیچ رکوردی را نمایش نمی دهد.

دوستان لطفا کمک کنند.

headshoter
پنج شنبه 19 دی 1392, 20:33 عصر
cmd.CommandText = "SELECT * FROM BOOKS WHERE Title like '%" + txt1 + "'";

http://www.w3schools.com/sql/sql_like.asp

http://www.techonthenet.com/sql/like.php