ASP.net

آموزش دات نت,طراحی وب سایت| 02144050905

روند کلی برقراری اتصال با دیتابیس 1- رشته اتصال ( connection string ) مناسب را تعریف کنید 2- کلاس مناسب را به برنامه خود وارد ( import ) کنید. 3-یک شی کانکشن تعریف کنید و رشته اتصال را به سازنده آن پاس کنید. 4- شی کانکشن را باز کنید.

  • کانال رسمی تلگرام سنادیتا
  • بهینه سازی و سئو طراحی سایت

 

کار با پایگاه داده در ASP.NET برای طراحی سایت

 

روند کلی برقراری اتصال با دیتابیس
1-  رشته اتصال ( connection string ) مناسب را تعریف کنید
2- کلاس مناسب را به برنامه خود وارد ( import ) کنید.
3-یک شی کانکشن تعریف کنید و رشته اتصال را به سازنده آن پاس کنید.
4- شی کانکشن را باز کنید.
5-عملیات مورد نظر را در دیتابیس انجام دهید *
6- شی کانکشن را ببندید.

* برای انجام هر عملیاتی از جمله اضافه یا حذف یا ویرایش یا جستجو باید اشیایی برای انجام آن عملیات از کلاس مربوطه بگیرید که در قسمت های بعدی در موردشان توضیح خواهم داد 

چگونه با یک دیتابیس ارتباط برقرار کنیم؟
هدف ایجاد اتصال به یک بانک اطلاعاتی ، باز کردن اتصال و بستن آن است . بر اساس توضیحات بالا گام به گام پیش می رویم :
1- تعریف رشته اتصال : برای برقراری ارتباط با اکسس از رشته اتصالی مثل رشته زیر استفاده می کنیم.

string connectionString ="Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\\database.mdb";

در رشته اتصال بالا بعد از Data Source آدرس محل قرار گرفتن فایل اکسس خود را مشخص کنید. اگر می خواهید از اس کیو ال سرور استفاده کنید رشته اتصال شما چیزی شبیه به متن زیر خواهد بود :

string connectionString="server=127.0.0.1;database=
MY_DATABASE;UID=MY_USERNAME;PWD=MY_PASSWORD
"

در رشته اتصال بالا بعد از server نام و یا ip سرور مورد نظر را وارد می کنید. به MY_DATABASE نام دیتابیس و همین طور نام کاربری و کلمه عبور را برای دسترسی به سرور مشخص کنید.

2- اضافه کردن کلاس مناسب به کد صفحه : برای اکسس از System.Data.OleDb استفاده کنید و برای SQL Server از System.Data.SqlClient. اگر از ویژوال استودیو دات نت استفاده می کنید کافی است که آن را به ابتدای کد صفحه اضافه کنید

using System.Data.OleDb;

و اگر کدهای دات نتی را در خود صفحه aspx می نویسید در ابتدای صفحه فضا نام مربوط را import  کنید.

 

3- تعریف شی کانکشن :  برای ایجاد این شی در صورت استفاده از System.Data.OleDb خواهیم داشت :

OleDbConnection myConnection=new OleDbConnection ( connectionString );

و اگر از System.Data.SqlClient استفاده کرده اید مطابق مثال زیر به جای OleDbConnection از SqlConnection استفاده می کنید  :

SqlConnection myConnection = new SqlConnection( connectionString );

4- باز کردن شی کانکشن : این کار را به کمک متد Open شی کانکشن تعریف شده انجام می دهیم :

myConnection.Open ();

5- انجام عملیات مورد نظر در دیتابیس : در این یادداشت ما هیچ اضافه ، حذف یا ویرایشی را در دیتابیس انجام نمی دهیم.
6 - بستن شی کانکشن : این کار به کمک متد Close انجام می شود.

myConnection.Close ();

این پروژه را به کمک ویژوال استودیو باز کنید ، در کد صفحه WebForm1.aspx مقدار رشته اتصال را بر اساس دیتابیس خود ست کنید. پروژه را مجددا کامپایل و اجرا کنید. در این کد از ساختار Try/Catch استفاده کرده ام ( توضیحات بیشتر در مورد ساختارهای مدیریت استثنا در سی شارپ را در این مقاله بخوانید ) همچنین قبل از بستن کانکشن، به کمک یک عبارت شرطی باز بودن آن را چک می کنم.

 

در بخش اول با روش برقراری اتصال با پایگاه داده در ASP.NET آشنا شدید. در این یادداشت با استفاده از یک جدول نمونه ، عملیات اضافه کردن رکورد به دیتابیس را بررسی می کنیم. برای این کار هر دو روش عادی و استفاده از Stored Procedure را پیاده سازی می کنیم. اگر مطالب این یادداشت را به دقت مطالعه و تمرین کنید قادر خواهید بود تا عملیات معمول بانک های اطلاعاتی ( اضافه ، ویرایش و حذف ) را در برنامه های وبی خود انجام دهید چرا که تنها تفاوت این کارها در دستور SQL آنهاست.

افزودن رکورد به بانک اطلاعاتی

روند کلی این است که ابتدا رشته اتصال و عبارت SQL که دستور اضافه کردن را مشخص می کند بنویسید. بعد یک شی دستور بگیرید و پارامترهای مربوطه را به آن شی اضافه کنید. سپس یک کانکشن ایجاد کنید و دستور خود را اجرا کنید و در نهایت کانکشن را ببندید. همین ! حالا اجازه بدهید که این چند سطر را با هم گام به گام انجام دهیم:

گام اول. ساختن دیتابیس و جدول

یک دیتابیس جدید به نام TestDb در SQL Server بسازید. حالا یک جدول به نام Members ایجاد کنید. کد سازنده این جدول را در زیر می بینید ( می توانید اسکریپت ساخت جدول را از اینجا دانلود کنید و پس از ساختن دیتابیس از طریق Query Analyzer آن را اجرا کنید تا جدول را برای شما بسازد )

CREATE TABLE [Members] (
[UserID] [smallint] NOT NULL ,
[Username] [varchar] (10) NOT NULL ,
[Password] [varchar] (20) NOT NULL ,
[Email] [varchar] (50) NOT NULL ,
CONSTRAINT [PK_Members] PRIMARY KEY CLUSTERED
(
[UserID]
) ON [PRIMARY]
) ON [PRIMARY]
Go

گام دوم. تعریف پروژه جدید در ویژوال استودیو

یک پروژه Web Application را در ویژوال استودیو ایجاد کنید. نکته ای که امروز می خواهم به آن اشاره کنم ذخیره کردن رشته اتصال در فایل web.config است. برای این کار کد زیر را به این فایل اضافه کنید ( این کد داخل بلاک  نباشد )



به جای YOUR CONNECTION STRING رشته اتصال خود را قرار دهید ( در مورد رشته اتصال در یادداشت قبلی مفصل صحبت کردم )حالا می توانید در هر صفحه ای به کمک کد زیر رشته اتصال ذخیره شده را بازیابی کنید :

 string ConnectionString=ConfigurationSettings.AppSettings["connectionstring"];

 

برای کسب اطلاعات بیشتر در مورد ذخیره کردن رشته اتصال در web.config این مقاله فارسی را بخوانید : ذخیره کردن Connection String در فایل Web.Config

توصیه امنیتی : هر زمان که رشته اتصال خود را به این شکل در web.config ذخیره می کنید بهتر است برای افزایش ایمنی آن را به صورت رمز شده ذخیره کنید. برای اطلاع از چگونگی رمز کردن اطلاعات مقاله فارسی زیر را مطالعه کنید : به رمز درآوردن اطلاعات

گام سوم. نوشتن کد صفحه

در این صفحه ما به سه عدد TextBox به نام های txtUsername و txtPassword و txtEmail نیاز داریم. یک دکمه هم برای ارسال فرم در نظر می گیرم به نام btnAdd . کد اضافه شدن اطلاعات فرم به بانک اطلاعاتی را در رویداد کلیک این دکمه می نویسیم. این کد را در زیر مشاهده می کنید :

private void btnAdd_Click(object sender, System.EventArgs e)
{
        string connectionstring=ConfigurationSettings.AppSettings["connectionstring"];
        string cText="Insert Into Members (Username,Password,Email ) Values  (@Username,@Password,@Email)";
       SqlConnection con=new SqlConnection (connectionstring);
       SqlCommand cmd=new SqlCommand (cText,con);
       cmd.Parameters.Add ("@Username",txtUsername.Text );
       cmd.Parameters.Add ("@Password",txtPassword.Text );
       cmd.Parameters.Add ("@Email",txtEmail.Text );
       con.Open ();
        cmd.ExecuteNonQuery ();
       con.Close ();
}

فراموش نکنید که Namespace های مورد نیاز را به صفحه اضافه کنید. همان طور که می بینید دستور SQL را مستقیما در کد خود نوشتیم و از طریق پارامترها آن را تکمیل کردیم. دقت کنید که متد Add مربوط به پارامترهای یک شی دستور به چند شکل دیگر هم قابل استفاده است ( مثلا می توانید نوع فیلد جدول یا سایز آن را مشخص کنید ) و این ساده ترین شکل استفاده از این متد است.

نکته برنامه نویسی : ممکن است با این روش نتوانید اطلاعات را به فارسی در دیتابیس خود ذخیره کنید. خوشبختانه آقای نوعی پور یادداشت مفصلی در این مورد نوشته است که مشکل ورود اطلاعات فارسی و راه حل آن را به طور کامل بررسی می کند. این یادداشت را می توانید از اینجا بخوانید : پاسخ به یک پرسش متداول برنامه‌نویسان مبتدی ASP.NET : فارسی در SQL Server  

نکته امنیتی : در یک سیستم واقعی کلمه عبور را قبل از اضافه کردن به دیتابیس رمز کنید تا در صورتی که هکر به دیتابیس دسترسی پیدا کرد نتواند کلمات عبور کاربران سیستم را پیدا کند. مطمئن ترین روش Hash کردن کلمات عبور است. در این مورد به زودی مطلبی خواهم نوشت.

استفاده از Stored Procedure

همان طور که در ابتدای این یادداشت ها هم گفتم پیش فرض من این است که شما مفاهیم اصلی مربوط به کار با پایگاه داده و از جمله زبان SQL را می دانید. استفاده از روال های ذخیره شده کارآیی و سرعت سیستم را بالا می برد. وقتی یک روال ذخیره شده را در دیتابیس قرار می دهیم برای مراجعات بعدی دیگر پارسر و کامپایلر آن را بررسی نمی کنند و از نسخه کامپایل شده بهینه آن استفاده می کنند. به علاوه با کمک Transact-SQL می توانیم رویه های ذخیره شده پیشرفته ای را بنویسیم یا مثلا یک سری دستور را به صورت گروهی اجرا کنیم.

برای مثالی که در این یادداشت با آن روبرو بودیم Stored Procedure زیر که همان کار افزودن رکورد را انجام می دهد می نویسیم ( این روال را از طریق Query Analyzer در دیتابیس TestDb  اجرا کنید تا به مجموعه روال های ذخیره شده این دیتابیس اضافه شود )

Create Procedure InsertProc
(
   @Username varchar(
10),
   @Password varchar (
20),
   @Email varchar (
50)
)
As
Insert
Into Members (Username,Password,Email ) Values (@Username,@Password,@Email)

حالا برای این که عملیات را با استفاده از این روال ذخیره شده انجام دهیم شی دستور SQL را به صورت زیر بازنویسی می کنیم ( قسمت های Bold شده را نگاه کنید ) :

private void btnAdd_Click(object sender, System.EventArgs e)
{
.....
SqlCommand cmd=new SqlCommand ();
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.CommandText="InsertProc";
cmd.Parameters.Add ("@Username",txtUsername.Text );
....
}

در این روش دیگر نیازی به تعریف  cText ( همان دستور SQL ) نداریم چرا که این دستور را در داخل رویه ذخیره شده خود نوشته ایم. همان طور که می بینید ابتدا Type دستور را مشخص کردیم و سپس نام رویه ذخیره شده خود را به ویژگی CommandText شی دستور نسبت دادیم.

دانلود فایل پروژه : برای استفاده از این پروژه بعد از ساخت دیتابیس و جدول مربوطه، در فایل  Web.Config رشته اتصال خود را به جای عبارت YOUR CONNECTION STRING  قرار دهید ( توضیحات گام دوم را بخوانید ). سپس پروژه را کامپایل و اجرا کنید.

 

خدمات طراحی سایت سنادیتا
  • طراحی سایت شرکتی
  • طراحی سایت صرافی
  • طراحی سایت صنعتی
  • طراحی سایت علمی
  • طراحی سایت فروش شارژ
  • طراحی سایت فروش فایل
  • طراحی سایت فروشگاهی
  • طراحی سایت فیلم و موزیک
  • طراحی سایت هنری
  • طراحی سایت واکنش گرا
  • طراحی سایت تفریحی و بازی آنلاین

 

  • طراحی سایت کارخانجات
  • طراحی سایت کودکان
  • طراحی سایت گالری
  • طراحی سایت گردشگری
  • طراحی سایت لباس و کیف و کفش
  • طراحی سایت مجله اینترنتی
  • طراحی سایت مدرسه
  • طراحی سایت مراکز تجاری
  • طراحی سایت مرتبط با حیوانات
  • طراحی سایت نمایشگاهی
  • طراحی سایت هتل و اماکن اقامتی
  • طراحی سایت تبلیغاتی

 

RSS

آرشیو

بازدید روز

۴۶۰۶

بازدید دیروز

۴۰۵۲

بازدید ماه

۸۴۳۴۴

بازدید کل

۱۶۵۷۸۲۱

افراد آنلاین

۴

نام سايت: sanadata.com
الکسای جهانی :۱۴۲۷۲۰
میزان تغیرات :+۲۴۰۱۰
الکسای ایران :۳۳۳۹

1  
2 A B C
3 D E F
4 G H I
5 J K L
5 J K L
6 M N O
7 P Q R S
8 T U V
9 W X Y Z
*
0 +
0 +
0 +
0 +
#

آدرس دفتر مركزی :

تهران - فلکه دوم صادقیه - ابتدای خیابان آیت ا... کاشانی - جنب درمانگاه ابن سینا - مجتمع سبحان - طبقه 6 - واحد 33

ساعت کار شرکت از ساعت 9 الی 17

واحد فروش - خانم راد :     02144050905

واحد آموزش - خانم لطفی  :     02144048747

کلیه حقوق مادی و معنوی این وب سایت برای شرکت سنارایانه یکتا محفوظ می باشد.