PDA

View Full Version : چرا من نمیتونم با Oledb سرچ کنم؟



vbapr2005
جمعه 13 آبان 1384, 02:29 صبح
سلام.
من وقتی این دستور یا دستورات مشابهی رو می نویسم کار نمی کنه:

SELECT Name FROM Book WHERE ID LIKE '1?'
یا این:
SELECT ID FROM Author WHERE FirstName LIKE 'M*'
اما این یکی کار می کنه:
SELECT ID FROM Author WHERE FirstName LIKE 'Michael'
من یه تاپیک هم دادم که باهاش میشه دستورات اس کیو ال رو داد. با اون هم امتحان کردم، نشد اگه میشه امتحان کنید ببینید که شما میتونید این دستور رو بدید یا نه؟

خیلی ممنون دوستان عزیز :چشمک:

vbapr2005
جمعه 13 آبان 1384, 02:31 صبح
اون تاپیکم اینه:
http://www.barnamenevis.org/forum/showthread.php?t=31779

white fox
جمعه 13 آبان 1384, 05:16 صبح
دوست عزیز برای جستجو مستقیم از این حالت استفاده نمیشه....
شما باید یه DataAdapter اول تعریف کنید و یه Dataset که اونو با دستور DataAdapter.Fill پر کنی و بعد یه Dataview تعریف کنی.....و اونو بh خاصیت Table از DataSet پر کنی....
حالا میتونی با متد Dataview.RowFilter جستجو تو انجام بدی....

vbapr2005
جمعه 13 آبان 1384, 09:16 صبح
و بعد یه Dataview تعریف کنی.....و اونو بh خاصیت Table از DataSet پر کنی....
حالا میتونی با متد Dataview.RowFilter جستجو تو انجام بدی....
میشه یه کمی بیشتر توضیح بدی؟ چون من تاحالا هیچ وقت با DataView کار نکردم. میشه یه مثال خیلی کوچیک بذاری؟


دوست عزیز برای جستجو مستقیم از این حالت استفاده نمیشه....
این رو تو کتاب VB.Net دایتل و دایتل نوشته بود. اما آخه این چیزی که من گفتم چه مشکلی داره؟

قسمتی از متن صفحه ی 933 کتاب «راهنمای جامع برنامه نویسان ویژوال بیسیک .Net»:

«شرط WHERE می تواند حاوی عملگر های <، >، =<، >=، =، <> و LIKE باشد. عملگر LIKE در تشکیل الگوی تطبیق به همراه کاراکترهای ستاره (*) و علامت سوال (؟) بکار گرفته می شود. الگوی تطبیق به SQL امکان می دهد تا جستجو را در میان رشته هایی که با الگو مطابقت دارند، انجام دهد.»

white fox
شنبه 14 آبان 1384, 03:06 صبح
دوست عزیز من این کتاب خوندم...اما منظور اینجا جستجو نیست....در واقع جستجو برای رکورد خاص نیست با این کار در vb6 میشد دنبال رکورد یا رکوردهای خاصی گشت.
در واقع دستور بالا فقط یه سری رکورد از جدول یا جداولی خاص بیرون میکشه...همین اما در خود برنامه شما باید از Dataview برای جستجو استفاده کنی یه چیزی مثل زیر...



Dim Cn As New SqlConnection("workstation id=3POR2D2;packet size=4096;integrated security=SSPI;initial catalog=RegisterationDB;persist security info=False")
Dim Data As New DataSet
Dim Adapter As New SqlDataAdapter("SELECT * FROM Ecourse", Cn)
Dim View As New DataView

در Form_Load

Adapter.Fill(Data)
View.Table = Data.Tables(0)



در یک دکمه مثلا

View.RowFilter = "CourseName like'" & txtCourseName.Text & "%'"



ببخشید حتما همه کدها غروقاطی میشه...نمیدونم چرا قسمت کدنویسی فعال نیست....
این امکانات سایت کوش؟؟؟؟
امیدوارم کمکی کرده باشه اگه اطلاعات بیشتری میخوای میتونی کتاب اصلی مایکروصافت به نام Developing Windows-Based Apllication استفاده کنی
موفق باشید

vbapr2005
شنبه 14 آبان 1384, 06:23 صبح
ای ول دستت درد نکنه

View.RowFilter = "CourseName like'" & txtCourseName.Text & "%'"
حالا بهتر شد. راستی جریان این % چیه دیگه؟ اینو هم حتما باید بذاریم؟

پس در کل اصلا کار سختی نیست و فرق خیلی زیادی هم برای ما نداره. فقط جدولی رو که میخوایم سرچو روش انجام بدیم باید ببریم به یه DataView بعد فرمت اون دیتاویوو رو تعیین کنیم.

خب، دستت درد نکنه :لبخندساده . این هم برای خودش میتونست یه اعصاب خوردی بزرگ بشه که با این روش ایشاالله برای همیشه این مشکلم هم برطرف میشه.

تستش می کنم و اگه مشکل دیگه ای بود میگم :چشمک:

white fox
سه شنبه 17 آبان 1384, 00:57 صبح
ببخشید جوابتونو دیر میدم...آخه چند روز مسافرت بودم..
خوب....
جریان % هم چیز خاصی نیست فقط در SQL-Server بجای * از % استفاده میشه..همین...
امیدوارم که مشکلتونم حل شده باشه