درج اطلاعات در پایگاه داده Access و نمایش آن ها در DropDownList در ASP.NET

دوشنبه 8 تیر 1394

در این مقاله خواهیم آموخت که چگونه با استفاده از یک پایگاه داده Access برای ذخیره اطلاعات استفاده کنیم و این اطلاعات ذخیره شده را در یک DropDownList با استفاده OleDbDataReader نشان دهیم.

درج اطلاعات در پایگاه داده Access و نمایش آن ها در DropDownList در ASP.NET

در این مقاله نحوه درج اطلاعات در پایگاه داده Access و دریافت این اطلاعات در DropDownList و همچنین لیست شدن این اطلاعات در DropDownList را به شما خواهیم آموخت.

گاهی به دلیل مسکلات سرور و خطای ترافیک اطلاعات در سرورهای مختلف، قادر نیستیم در برنامه کاربردی خود از SQL Server و یا MySQL استفاده کنیم. در این زمان، اگر شما برای پایگاه داده برنامه های کاربردی و یا Web Form خود از Access استفاده کنید، با این کار برنامه کاربردی شما از پیچیدگی کمتری برخوردار می شود و مشکلات خطای سرور کاهش می یابد. پس ما به شما خواهیم آموخت که چگونه اطلاعات توسط دسترسی به پایگاه داده با برنامه کاربردی ASP.NET دریافت شده و پردازش می شوند. اگر از یک پایگاه داده Access استفاده می کنید، دیگر نیازی به نصب موتور پایگاه داده در یک کامپیوتر دیگر برای استفاده در برنامه کاربردی خود ندارید. و اگر از Microsoft Office را برروی سیستم خود نصب کرده اید، مطمئن باشید که با هیچ پیغام خطایی مواجه نخواهید شد و برنامه به خوبی اجرا می شود.

در ابتدا شما را با پایگاه داده Access آشنا می کنیم. فرآیند به سادگی انجام میشود. Microsoft Access را اجرا کنید و یک blank database ایجاد کنید و یک نام برای آن انتخاب کنید.

برروی نام جدول کلیک راست کنید و گزینه design view را بزنید. حال در اینجا می توانید برای هر ستون یک column name و یک data type مشخص کنید. همچنین می توانید سایز فیلدها را تغییر دهید و یا می توانید کلید اصلی هم مشخص کنید.

در Visual Studio یک پروژه تحت وب ایجاد کنید و یک Web Form خالی به پروژه اضافه کنید. همانند شکل زیر یک GUL ایجاد کنید.

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

 string dbLocation = Server.MapPath("~/App_Data/dropdownList.accdb"); 
            connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + dbLocation + ";Persist Security Info=False;";

در اینجا باید فایل Access را پوشه App_Data قرار دهیم. و مسیر فایل را در رشته اتصال وارد کنیم.

برای استفاده از پایگاه داده Access، باید بسته OLEDB را از ADO.NET وارد برنامه کنید. پس، فراموش نکنید که using System.Data.OleDb را به دستورات صفحه فرم اضافه کنید.

دستوراتی که در اینجا داریم بسیار شبیه به دستورات SQL Server است. زمانی که ما برروی دکمه افزودن کلیک می کنیم، اطلاعات در جدول پایگاه داده درج می شود. همچنین این اطلاعات با استفاده از OleDbDataReader به صورت اتوماتیک در DropDownList درج می شود.

protected void Button1_Click(object sender, EventArgs e)  
{  
   try  
   {  
      connection.Open();  
      string command = "insert into pracTable(name) values('" + TextBox1.Text + "') ";  
      OleDbCommand cmdd = new OleDbCommand(command, connection);  
      cmdd.ExecuteNonQuery();  
      Label1.Text = "اطلاعات درج شد";  
   }  
   catch (Exception exp)  
   { }  
   finally  
   {  
      connection.Close();  
   }  
}  

در صفحه دستورات فرم، ما یک OleDbDataReader را مقداردهی می کنیم. سپس برای دریافت اطلاعات از ستون های جدول یک حلقه ایجاد می کنیم و اطلاعات را در DropDownList درج می کنیم.

if (!IsPostBack)  
{  
   OleDbDataReader myReader;  
   string command2 = "select * from pracTable";  
   OleDbCommand cmd2 = new OleDbCommand(command2, connection);  
   myReader = cmd2.ExecuteReader();  
   while (myReader.Read())  
   {  
      string sName = myReader.GetString(0);  
      Label1.Text = sName;  
      DropDownList1.Items.Add(sName);  
   }  
}  

امیدوارم که این مقاله برای شما مفید بوده باشد.فقط نکته قابل ذکری که میخواهم به آن توجه کنید، رشته اتصال به پایگاه داده است. قبل از اجرای برنامه حتما به این نکته توجه کنید.

خروجی حاصل از اجرای برنامه را در زیر ببینید.

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

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

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

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

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