تغییردستور SelectCommand به صورت پویا در زمان اجرا
یکشنبه 5 مهر 1394در اینجا قصد داریم توضیحاتی درباره SelectCommand از SqlDataSource و تغییرات پویای(Dynamically change) آن در زمان اجرا ارائه دهیم . به منظور تغییر SelectCommand در زمان اجرا ، SqlDtaSource به پذیرفته شدن کد از Code Behind در ASP.Net نیاز دارد .
در اینجا قصد داریم توضیحاتی درباره SelectCommand از SqlDataSource و تغییرات پویای (Dynamically change) آن در زمان اجرا ارائه دهیم . به منظور تغییر SelectCommand در زمان اجرا ، SqlDataSource به پذیرفته شدن کد از Code Behind در ASP.Net نیاز دارد .
در این قسمت توضیحات را با یک مثال روشن میکنیم .
برای این مثال از دیتابیس Northwind و جدول Customers استفاده میکنیم . برای دانلود دیتابیس به لینک زیر بروید .
صفحه HTML یک Gridview با مشخصاتو فیلدهای زیر شامل میشود .
<asp:GridView ID="GridView1" runat="server" CssClass="Grid" AutoGenerateColumns="false"> <Columns> <asp:BoundField DataField="ContactName" HeaderText="Customer Name" /> <asp:BoundField DataField="City" HeaderText="City" /> <asp:BoundField DataField="Country" HeaderText="Country" /> <asp:BoundField DataField="PostalCode" HeaderText="PostalCode" /> </Columns> </asp:GridView>
Connection String را در web.config به صورت زیر قرار میدهیم.
<connectionStrings> <addname="conString"connectionString="Data Source=.\SQL2005;Initial Catalog=northwind;User id = user;password=xxx"/> </connectionStrings>
در کد زیر ارتباط SqlDataSource با Gridview است .
SqlDataSource به صورت پویا در زمان اجرا به رویداد Page_Load اضافه می شود .
پارامترهای زیر باید درSqlDataSource تنظیم شوند .
1.ConnectionString : کانکشن به دیتابیس Northwind
2. SelectCommand : کوئری های sql برای اجرا شدن
کد C# به صورت زیر خواهد بود :
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SqlDataSource SqlDataSource1 = new SqlDataSource(); SqlDataSource1.ID = "SqlDataSource1"; this.Page.Controls.Add(SqlDataSource1); SqlDataSource1.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString; SqlDataSource1.SelectCommand = "SELECT top 10 ContactName, City, Country, PostalCode from Customers"; GridView1.DataSource = SqlDataSource1; GridView1.DataBind(); } }
کد VB به صورت زیر خواهد بود :
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then Dim SqlDataSource1 As New SqlDataSource() SqlDataSource1.ID = "SqlDataSource1" Me.Page.Controls.Add(SqlDataSource1) SqlDataSource1.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("conString").ConnectionString SqlDataSource1.SelectCommand = "SELECT top 10 ContactName, City, Country, PostalCode from Customers" GridView1.DataSource = SqlDataSource1 GridView1.DataBind() End If End Sub
- ASP.net
- 1k بازدید
- 2 تشکر