در این مقاله با یک مثال نشان می دهیم که چگونه از عملگر LIKE در کوئری های مشخص شده توسط دستور Select استفاده کنیم و همچنین جستجو در GridView توسط ASP.Net را انجام دهیم. به همراه توضیحات کامل و تصاویر برای درک بهترتان در ادامه ی مطلب سورس برنامه نیز برای دانلود قرار داده شده است . امیدوارم از آن استفاده کنید . با من همراه باشید …
جستجو در GridView
طراحی دیتابیس:
برای شروع یک دیتابیس کوچک با یک جدول به نام Customers با فیلدهای زیر ایجاد می کنیم.
ثبت و فیلتر کردن داده ها در GridView:
در قسمت HTML، یک GridView ، TextBox و یک Button استفاده شده است.
GridViewکه با رکودهای جدول Customersپر شده است، ازSqlDataSourceبرای نمایش آنها استفاده می کند. در SqlDataSource نیز، FilterExpression را با استفاده از SelectCommand مشخص کردیم، که با استفاده از آن رکوردهای جدول بر اساس عبارت وارد شده در TextBox و عملگر LIKE فیلتر می شوند.
جستجوی مشتری :
<asp:TextBoxID="txtSearch"runat="server"></asp:TextBox> <asp:ButtonID="btnSearch"runat="server"Text="جستجو"/> <hr/> <asp:GridViewID="GridView1"HeaderStyle-BackColor="#3AC0F2"HeaderStyle-ForeColor="White" runat="server"AutoGenerateColumns="false"DataSourceID="GridDataSource"AllowPaging="true"> <Columns> <asp:BoundFieldDataField="ContactName"HeaderText="نام"ItemStyle-Width="150"/> <asp:BoundFieldDataField="City"HeaderText="شهر"ItemStyle-Width="150"/> <asp:BoundFieldDataField="Country"HeaderText="کشور"ItemStyle-Width="150"/> </Columns> </asp:GridView> <asp:SqlDataSourceID="GridDataSource"runat="server"ConnectionString="<%$ ConnectionStrings:ConStr %>" SelectCommand="SELECT ContactName, City, Country FROM Customers"FilterExpression="ContactName LIKE '{0}%'"> <FilterParameters> <asp:ControlParameterName="Country"ControlID="txtSearch"PropertyName="Text"/> </FilterParameters> </asp:SqlDataSource>
توضیح قسمت های مهم کد:
SelectCommand: در اینجا باید از دستور select بدون هیچ دستور شرط یا فیلتری مانند where استفاده کنیم.
FilterExpression: در این قسمت باید بخش فیلتر کردن کوئری را با یک placeholder یا جانگه دار {۰} مشخص کنیم. که این جانگه دار باید با مقدار یک ControlParameter مانند TextBox که در این مثال استفاده کرده ایم، جایگزین شود.
FilterParameters: در این قسمت پارامترهای کنترلی که توسط FilterExpression استفاده می شود، معرفی می کنیم.
به محض اینکه متنی در TextBox وارد شده و دکمه جستجو زده شود، رکوردهای GridView فیلتر می شوند.
ممنون از آموزش
اما در بعضی موارد نتیجه جستجو خالی می شود اما کلمه موجود است ، نوع collation دیتابیس هم persian_100_ci_as می باشد.
۷