ثبت کنترل DropDownList به پایگاه داده MySQL درASP.NET
جمعه 27 آذر 1394MySQL یک پایگاه داده سبک و متن باز است که می توان اطلاعات کامپوننت های برنامه را از آن پر کرد. در این مقاله می خواهیم چگونگی اتصال کنترل DropDownList را به پایگاه داده MySQL توضیح دهیم. در اینجا اطلاعات DropDownList از جداول MySQL پر می شود.
برای شروع ابتدا باید در MySQl یک جدول ایجاد کنیم، مانند زیر:
توجه داشته باشید برای اینکه بتوانید اطلاعات فارسی درج کنید لازم است که Collation را روی utf8-collation قرار دهید.
بعد از ایجاد می توانید اطلاعات خود را داخل جدول پر کنید، مانند زیر:
فایل SQL جداول پایگاه داده در ضمیمه وجود دارند.
دانلود و نصب اتصال دهنده(Connector) پایگاه داده MySQL
حالا باید MySQLConnector را نصب کنید تا بتوان به پایگاه داده MySQL در ASP.NET متصل شد. برای این کار از این لینک استفاده کنید.
حالا برنامه Visual Studio را باز کرده و یک پروژه WerForm خالی بسازید، بر روی نام پروژه راست کلیک کرده و یک وب فرم جدید بسازید.
در صفحه HTML کد زیر را بنویسید:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CS.aspx.cs" Inherits="CS" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:DropDownList ID="ddlCustomers" runat="server"> </asp:DropDownList> </form> </body> </html>
در قسمت CodeBehind از فضاهای نام زیر استفاده می کنیم:
using System.Data; using System.Configuration; using MySql.Data.MySqlClient;
در قسمت رویداد Page Load کامپوننت DropDownList را با اطلاعات پایگاه داده پر می کنیم. CustomerId و مقادیر ستون Name از پایگاه داده با استفاده از SqlDataReader واکشی می شوند و به خصوصیت های DataTextField و DataValueField از کنترل DropDownList اختصاص می یابد.
DataTextField_ مجموعه مقادیری هستند که برای کاربر قابل مشاهده است.
DataValueField _ مجموعه مقادیری هستند که برای کاربر قابل مشاهده نیستند . به طور کلی ستون های ID یا کلید اصلی که مقادیر منحصر به فرد هستند به عنوان مقادیر تنظیم شده در DropDownList استفاده می شوند.
در نهایت CodeBehind به صورت زیر نوشته می شود:
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; using (MySqlConnection con = new MySqlConnection(constr)) { using (MySqlCommand cmd = new MySqlCommand("SELECT CustomerId, Name FROM Customers")) { cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); ddlCustomers.DataSource = cmd.ExecuteReader(); ddlCustomers.DataTextField = "Name"; ddlCustomers.DataValueField = "CustomerId"; ddlCustomers.DataBind(); con.Close(); } } ddlCustomers.Items.Insert(0, new ListItem("--Select Customer--", "0")); } }
و خروجی به صورت زیر می شود:
- ASP.net
- 2k بازدید
- 3 تشکر