آموزش طراحی وب سایت از ابتدا در Asp.net قسمت دوم اتصال به دیتابیس
آموزش طراحی وب سایت از ابتدا در Asp.net قسمت دوم اتصال به دیتابیس
ارتباط با پایگاه داده در Asp.Net
ارتباط با پایگاه داده در Asp.Net کمی متفاوت با برنامه نویسی تحت ویندوز می باشد.
جهت ارتباط با پایگاه داده شما نمی توانید به صورت یک کلاس یا رشته connection در درون صفحات آن را تعریف کنید چرا که هنگام اتصال به پایگاه داده در سرور واقعی با خطا مواجه خواهید شد.
برای ارتباط با پایگاه داده شما مجبور هستید تا از web.config استفاده کنید .
در این قسمت ما برای شما روشی را پیشنهاد می کنیم که توسط آن دیگر نیاز نیست تا connection را موقع استفاده در کامپیوتر شخصی عوض کنید و سپس دوباره connection را تغییر داده و سایت را آپلود کنید.
تعریف connection:
ابتدا web.confing را باز کرده و کد زیر را داخل آن بنویسید.
<appSettings> <add key="title" value="mycon"/> <add key="csClient" value="Data Source=(local);Initial Catalog=mydb_iranganj.ir;Integrated Security=True"/> <add key="csServer" value="Data Source=localhost;Initial Catalog=mydb_iranganj.ir;Persist Security Info=false; User ID=user; Password=123;"/> </appSettings>
در کد بالا ما دو نوع connection تعریف کردیم که اولی برای موقعی است که شما سایت را در کامپیوتر شخصی اجرا می کنید استفاده می شود و دومی زمانی که سایت شما در سرور واقعی اجرا می شود استفاده می شود.
زمانی که شما از سرور واقعی استفاده می کنید شما نیاز دارید تا از نام کاربری و رمز عبور جهت ارتباط با پایگاه استفاده کنید که شما می توانید در هاست خود کاربر جدید برای وصل شدن به پایگاه داده تعریف کنید.
تعریف کلاس connection:
بعد از web.config شما باید یک کلاس به نام connection ایجاده کرده و کد داخل آن به صورت زیر می باشد.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Data.SqlClient; public clas connection { public static string URL =""; public static string cs =""; SqlConnection con; public connection { con = new SqlConnection() } public void Connect() { if (URL.ToLower().Contains("localhost")) cs = System.Configuration.ConfigurationManager.AppSettings["csClient"]; else cs = System.Configuration.ConfigurationManager.AppSettings["csServer"]; con.ConnectionString = cs; con.Open(); public void Disconnect() { con.Close(); } } }
ما از دو متغیر استفاده کردیم که متغیر URL که داخل آن آدرس سایت در آن قرار می گیرد و با استفاده از دستور شرطی آن را چک کرده و نوع connection مورد نطر را داحل متغیر cs قرار می دهد.
کد نویسی Global.asax:
برای این که بتوانیم تشخص دهیم که سایت ما در سرور واقعی یا کامپیوتر خودمان در حال اجراست باید یک Global.asax به برنامه خود اضافه کرده و سپس این کد را به آن اضافه کنیم.
void Session_Start(object sender, EventArgse) { connection.URL = Request.Url.AbsoluteUri; }
دستور بالا آدرس مطلق را داخل URL قرار می دهد.
تست کردن connection:
برای این که تست کنیم که آیا به دیتابیس وصل می شود یا نه ابتدا بک دیتا بیس می سازیم و در قسمت form load صفحه Default.aspx کد زیر را اضافه می کنیم.
protected void Page_Load(sender, EventArgse) { connection connection =new connection(); connection.Connect(); connection.Disconnect(); }
در صورتی که سایت را اجرا می کنید خطای نمایش ندهد یعنی به پایگاه داده متصل شده است.
نکته:
شما برای اجرای برنامه یاید دیتابیس برنامه را در sql server آن را Attach نمایید.
نظر / سوال