PDA

View Full Version : استفاده از Like در dataset



atashsavar
دوشنبه 01 شهریور 1389, 18:55 عصر
سلام دوستان
بنده یک dataset دارم که می خوام یه دستور select براش بنویسم که از دستور like استفاده کنم ولی به علامت % گیر میده
اگه کسی میدونه چه کار باید بکنم ممنون میشم کمکم بکنه.
اگه یه سایت یا pdf آموزشی برای کار با dataset هم باشه معرفی کنین خیلی خوبه

morrteza323
دوشنبه 01 شهریور 1389, 19:05 عصر
سلام
دوست عزیز اگه بانک اطلاعاتی شما access باشه از * باید استفاده کنید و اگر sql باشه از %
تو این سایت ها رو نگاه کنید.مثال هم داره
http://www.firstsql.com/tutor2.htm
http://www.fontstuff.com/access/acctut06.htm
--------------------
اگه sql کار می کنی این سایت هم دستورها رو با مثال داره
http://www.techonthenet.com/sql/like.php

raha1234567
دوشنبه 01 شهریور 1389, 19:07 عصر
سلام دوستان
بنده یک dataset دارم که می خوام یه دستور select بارش بنویسم که از دستور like استفاده کنم ولی به علامت % گیر میده
اگه کسی میدونه چه کار باید بکنم ممنون میشم کمکم بکنه.
اگه یه سایت یا pdf آموزشی برای کار با dataset هم باشه معرفی کنین خیلی خوبه

توجه داشته باشید که باید داخل تک کوتیشن باشه به صورت زیر


select * form student
where stname='a%'

atashsavar
دوشنبه 01 شهریور 1389, 19:16 عصر
عزیزم من یه local database داشتم که قبلا توی اون جدولهام را ایجاد کرده بودم سپس به صورت ویزاردی یک Dataset به پروژه اضافه کردم و جدول ها را از روی همین دیتابیس توی دیتاست drag @ drop کردم حالا می خوام به ورت ویزاردی یک کوئری به آن اضافه کنم که کار search را انجام بده ولی به من اجازه نمیده از % توی select ام استفاده کنم .


SELECT [name], [family], [tell], [HomeAddress], [WorkAddress], [email], [Sex], [Birthday], [MarriageDate], [Fax], [HomeNumber], [WorkNumber] FROM [TellNumber1] WHERE(([family] LIKE @family%))

mmd2009
سه شنبه 02 شهریور 1389, 08:28 صبح
با سلام.

قبل از جواب یک سوال: شما می خواهید یک جدول رو با دستور Like ببرید تو یک دیتاست یا یک دیتاست رو با دستور Like ببرید تو یه چیز دیگه؟؟؟؟

بعد از جواب شما من هم اگر جوابی تونستم میدم.

mmd2009
سه شنبه 02 شهریور 1389, 08:44 صبح
خب انگاری نیستی و من جوابت رو میدم شاید وقتی تو اومدی من نباشم. اگر جواب این پایینی نبود که باز سوال بالارو جواب بده.

اینم جوابی هست العا اماده کردم البته قبلا برای خودم تست کردم ولی باز برای شما هم ست کردم و گذاشتم :




string db = @"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=C:\\dic.mdb";

OleDbConnection con = new OleDbConnection(db);

string Q = "select en from t1 where en like @en+'%'";

OleDbDataAdapter dba = new OleDbDataAdapter(Q, con);

dba.SelectCommand.Parameters.Add(@"en", OleDbType.Char).Value = "a";

DataSet ds = new DataSet();

int a = dba.Fill(ds, "t1");

dataGridView1.DataSource = ds.Tables["t1"].DefaultView;

pystar
سه شنبه 02 شهریور 1389, 10:03 صبح
با سلام
در مورد دستور like و پارامتر % در دستورات sql اینگونه استفاده کن:
فرض میکنیم میخواهیم رکوردهایی رو که نامشون با حرف a شروع میشه رو select کنه.



select * from table_name where name Like 'a%'


در ضمن در قسمت شرط مربوط به family فکر کنم مشکل از این باشه که بصورت ویزاردی نمیتونه اینکارو بکنه یعنی قبلش نمیتونه مقدار family جلوی like رو بشناسه.

atashsavar
سه شنبه 02 شهریور 1389, 12:05 عصر
مشکلم حل شد باید کدم از این :

, [WorkAddress], [email], [Sex], [Birthday], [MarriageDate], [Fax], [HomeNumber], [WorkNumber] FROM [TellNumber1] WHERE(([family] LIKE @family%))
به این تبدیل شد :

, [WorkAddress], [email], [Sex], [Birthday], [MarriageDate], [Fax], [HomeNumber], [WorkNumber] FROM [TellNumber1] WHERE(([family] LIKE @family+'%'))
lمرسی از همتون :بوس: