ثبت کنترل DropDownList به پایگاه داده MySQL درASP.NET

جمعه 27 آذر 1394

MySQL یک پایگاه داده سبک و متن باز است که می توان اطلاعات کامپوننت های برنامه را از آن پر کرد. در این مقاله می خواهیم چگونگی اتصال کنترل DropDownList را به پایگاه داده MySQL توضیح دهیم. در اینجا اطلاعات DropDownList از جداول MySQL پر می شود.

ثبت کنترل DropDownList به پایگاه داده MySQL درASP.NET

برای شروع ابتدا باید در 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"));
    }
}

و خروجی به صورت زیر می شود:

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید