هما نطور که در بخش قبل گفتیم ، کنترل SqlDataSource برای اتصال به انواع مختلفی از منابع داده ای به کار می رود .برای ایجاد ارتباط باید یک ConnectionString مناسب و یک دستور Select را در خاصیت SelectCommand کنترل تعیین کنید . سپس می توانید این کنترل را به همراه یک یا چند کنترل وب دیگر که از خاصیت DataSourceID پشتیبانی می کنند ، برای نمایش و ویرایش اطلاعات استفاده کنید .

نحوه ایجاد یک ConnectionString برای یک کنترل SqlDataSource :

برای ایجاد یک ConnectionString مناسب می توان از ۲ روش مختلف زیر استفاده کرد :

استفاده از محیط کدنویسی : در این حالت کاربر به صورت مستقیم کدهای لازم را در قسمت های مربوط تایپ می کند . لازمه این روش آشنایی کامل به نحوه کدنویسی ConnectionString و انواع خواص مربوط به آن است .
استفاده از محیط طراحی ( Design ) نرم افزار Microsoft Visual Studio 2005 : در این حالت ، کاربر از محیط طراحی نرم افزار استفاده کرده و با بهره گیری از منوها و امکانات Visual موجود ، اقدام به ایجاد ConnectionString کرده و دیگر نیاز به کد نویسی مستقیم ندارد . همزمان با انجام عملیات در محیط طراحی ، برنامه به طور خودکار کدهاب متنی لازم را تولید کرده و در جاهای مناسب قرار می دهد .

در ادامه به معرفی هر ۲ روش می پردازیم .

۱ ) روش استفاده از محیط کدنویسی :

فایل * web.config را از منوی Solution Explorer در فهرست اصلی وب سایت خود باز کنید . در صورتی که این فایل وجود ندارد ، یک نمونه از آن ایجاد کنید .
فایل web.config : فایل web.config ، یک فایل سیستمی است که هر سایت ASP.Net ، یک نمونه از آن را بایستی داشته باشد . اگر سایت خود را با استفاده از نرم افزار Visual Studio ایجاد کنید ، این برنامه به طور خودکار یک نمونه از فایل را برای سایت شما ایجاد می کند . این فایل شامل اطلاعات مهم و کلی مربوط به نتظیمات مختلف سایت برای قرار گرفتن بر روی وب است .
در تگ < Configuration > ، تگ < ConnectionString > را باز کنید . چنانچه اطن تگ نیز وجود ندارد ، یک نمونه از آن را ایجاد کنید .
در درون تگ < ConnectionString > یک تگ جدید < add > را ایجاد کرده و در درون بدنه تگ ( نه بین تگ باز و بسته آن) موارد زیر را تعیین کنید :
Name : به وسیله این خاصیت یک نام منحصر به فرد را برای ConnecitonString خود انتخاب کنید . از این نام می توانید برای دسترسی و اشاره به ConnectionString از هر کجای برنامه استفاده کنید . برای نمونه در مثال زیر نام SampleConnection را برای ConnectionString خود انتخاب کرده ایم .

Name = ” SampleConnection ”     کد
ConnectionString : این خاصیت در واقع همان رشته ارتباطی است و شامل اطلاعات کلیدی درباره ارتباط است . در این خاصیت باید نام سرور پایگاه داده ( Data Source ) ، نام پایگاه داده مورد نظر بر روی سرور ( Initial Catalog ) و تنظیمات امنیتی (Integrated Secutrity ) برای ایجاد ارتباط را تنظیم کرد . برای مثال به کد زیر دقت کنید . در کد زیر به پایگاه داده UniverCity بر روی سرور Developer-PC متصل شده ایم . در این حالت از امکان شناسایی windows برای ارتباط استقاده کرده ایم . بنابراین مقدار خاصیت Integrated Secrity آن بر روی True تنطیم شده است .
نکته مهم : نام سرور باید نام کامپیوتری باشد که پایگاه داده بر روی آن قرار دارد . چنانچه پایگاه داده بر روی کامپیوتر خودتان قرار دارد ، نام آن را به عنوان مقدار Data Source قرار دهید و به جای آن هم می تونید کاراکتر . ( نقطه ) را قرار دهید .

 ConnectionString = ” Data Source = Developer-PC ; Integrated Security = True ; Initial Catalog = UniverCity “

ProvideName : این خاصیت کلاس ADO.NET مورد استفاده را برای ایجاد ارتباط کنترل نعیین می کند . برای مثال ، مقدار این خاصیت برای اتصال به پایگاه داده SQL Server باید روی مقدار System.Data.SqlClient تنظیم شود . به مثال زیر دقت کنید :

ProvideName = ” System.Data.SqlClient ”     کد

در نهایت بای قسمت < ConnectionStrign > فایل web.config شما به صورت زیر باشد . در تیجه فایل web.config را برای اعماا تغییرات ایجاد شده ، ذخیره کنید .

 <connectionstrings>
< add   name=”SampleConnection”  connectionString=”Data Source= Developer-PC ;Initial Catalog=UniverCity;Integrated Security=True”   providerName=”System.Data.SqlClient”   />
</connectionstrings>

 

اکنون شما دارای یک ConnectonString مناسب برای ایجاد ارتباط یک کنترل SqlDataSource به یک پایگاه داده SQL Server را ایجاد کرده اید . با استفاده از نام این ConnectionString می توانید آن را با یک یا چندین کنترل SqlDataSource برای ایجاد ارتباط با پایگاه داده تعیین شده استفاده کنید . نحوه استفاده از این ConnectioString برای ایجاد ارتباط به صورت زیر است :

یک کنترل SqlDataSourec را بر روی صفحه ASP.NET مورد نظر خود قرار دهید . این کنترل در منوی Toolbox و در قسمت Data قرار دارد .
در درون بدنه تگ کنترل SqlDataSource موارد زیر را تعیین کنید :
SelectCommand : این خاصیت تعیین کننده دستور SQL مورد نظر از نوع Select است ، که برای فراخوانی اطلاعات مورد نظر شما از جدول مربوطه در پایگاه داده مورد استفاده قرار می گیرد . نحوه تنظیم و استفاده از این خاصیت را در بخش بعدی به طور کامل تشریح می کنیم . برای نمونه در مثال زیر یک دستور Select را برای دریافت اطلاعات تعیین کرده ایم :

SelectCommand = ” Select Name From Student ”     کد
ConnectionString : مقدار این خاصیت را با نام ConnectionString مورد نظر خود که قبلا آن را در فایل web.config ایجاد کرده اید ، مقدار دهی کنید . برای نمونه در مثال زیر مقدار آن را با نام ConnectionSting ی که در بالا ایجاد کرده بودیم ، مقدار دهی می کنیم . توجه کنید که از فرمت زیر برای مقدار دهی خاصیت ConnectionString استفاده کنید :

ConnectionString = ” < %$ ConnectionStrings:SampleConnection % > ”     کد

در نهایت کد کنترل SqlDataSource شما باید به صورت زیر باشد :

< asp:SqlDataSource   runat=”server”   ID=”SqlControl1″  ConnectionString = ” < %$ ConnectionStrings:SampleConnection % > ”   SelectCommand=”Select Name from Students ” >
< /asp:SqlDataSource >

 

اکنون کنترل SqlDataSource شما با استفاده از ConnectionString مورد نظر شما به پایگاه داده متصل شده است و امکان این وجود دارد که با ترکیب آن با هر کنترل وب دیگر به نمایش و ویرایش اطلاعات منبع داده ای بپردازید .

نکته مهم : نکته مهمل که در این قسمت باید به آن اشاره کنیم ، این است که شما می توانید ConnectionString مورد نظر خود را به جای تعیین در فایل web.config و سپس اشاره به آن ، مستقیما آن را در درون تگ کنترل SqlDataSourec خود در صفحه ASP.NET آن را ایجاد کنید . مزیت تعیین آن در فایل web.config عبارتست از :

با تعیین یک CoonectionString در فایل web.config ، شما می توانید از نام آن برای چندین کنترل SqlDataSource به صورت همزمان و مشترک استفاده کنید . به عبارت دیگر در این روش می توانید با یکبار کدنویسی ، آن را چندین بار مورد استفاده قرار دهید .
چنانچه در آینده بخواهید یک ConnectionString واحد را در برنامه تغییر دهید ، چنانچه آن را در فایل web.config تعیین کرده باشید ، فقط با یکبار تغییر آن ، ConnectionString تمام کنترل ها به صورت همزمان تغییر می کند . اما چنانچه آن را در صفحات تعیین کرده باشید ، باید هر یک را به صورت مجزا تغییر دهید ، که کار بسیار زمان گیر بوده و با احتمال همراه است .
در حالت تعیین ConnectionString در فایل web.config ، امنیت و کارایی برنامه افزایش یافته و حجم کدنویسی نیز کاهش می یابد .

جنانچه بخواهید CoonectionString را در درون تگ کنترل SqlDataSource خود ایجاد کنید ، کد آن به صورت زیر در خواهد آمد :

 < asp:SqlDataSource   runat=”server”   ID=”SqlControl1″  ConnectionString = ” data source = Developer-PC ; initial catalog = UniverCity ; Integrated Security = True ”   ProviderName=”System.Data.SqlClient”     SelectCommand=”Select Name from Students ” >
< /asp:SqlDataSource >

 

استفاده از محیط طراحی ( Design ) در برنامه Visual Studio 2005 :

برای اطن منظور مراحل زیر را به ترتیب انجام دهید :

صفحه ASP.NET مورد نظر خود را در برنامه Visual Studio باز کرده به نمای طراحی ( Design ) بروید .
از منوی Toolbox و قسمت Data ، یک کنترل جدید SqlDataSource را بر روی صفحه قرار دهید .
کنترل را از روی صفحه انتخاب کرده ، بر روی آن کلیک سمت راست نموده و از منوی ظاهر شده گزینه Show Smart Tag را انتخاب کنید . همچنین جهت نمایش این منو می توانید علامت فلش کوچکی که در گوشه بالای کنترل در هنگام انتخاب آن ظاهر می شود را نیز کلیک کنید .
از منوی باز شده گزینه Configure Data Source را انتخاب کنید تا پنجره ای به همین نام باز شود . از پنجره باز شده ، از قسمت Which data conneciton should your application use to connect to the database ? می توانید نام یک ConnectionString از قبل ایجاد شده را به عنوان ConnectionString کنترل مورد نظر خود انتخاب کنید . اما اگر می خواهید یک ConnectionString جدید را برای آن بسازید ، بر روی گزینه New Connection کلیک کنید .
پنجره جدیدی به نام Add Connection باز می شود . از قسمت Data Source نوع کلاس ADO.NET مورد نظر خود را انتخاب کنید که حالت پیش فرض آن برای کنترل SqlDataSource ، مقدار Microsoft SQL Srver ( SqlClient ) است .
در قسمت Server Name نام سرور پایگاه داده خود را انتخاب کنید . چنانچه پایگاه داده مورد نظرتان بر روی کامپیوتر خودتان قرار دارد ، می توانید به جای آن کاراکتر . ( نقطه ) و یا نام کامپیوترتان را وارد کنید . چنانچه پایگاه داده بر روی یک کامپیوتر بر روی یک شبکه قرار دارد ، باید نام آن کامپیوتر بر روی شبکه را وارد کنید .
در قسمت Log on to the server می توانید شرایط امنیتی اتصال به پایگاه داده را تعیین کنید . این قسمت دارای ۲ حالت زیر است :
Use Windows Authentincation : در این حالت برنامه به User Name و Password خاصی وابسته نیست و از Log On ویندوز برای اتصال به پایگاه داده استفاده می کند .
Use SQL Server Authentication : در این حالت شما می توانید یک Username و Password را برای اتصال به پایگاه داده مورد نظر تعیین کنید ، که در این صورت کاربر برای اتصال به آن پایگاه داده در زمان اجرای برنامه باید Username , Password تعیین شده را وارد کند .
سپس در قسمت Connect to a database و در کادر Select or enter a database name می توانید نام پایگاه داده ای را که می خواهید به آن متصل شوید را از کادر کشویی آن انتخاب کرده و یا نام آن را به صورت دستی وارد کنید .
پس از انجام مراحل فوق ، کار اتصال به پایگاه داده مورد نظرتان به اتمام رسیده است . می توانید برای امتحان ارتباط ایجاد شده بر روی گزینه Test Connection کلیک کنید که در صورت مشاهده پیغام The Connection Succeed ، به این معناست که ارتباط به درستی برقرار شده است . در نهایت بر روی گزینه Ok کلیک کرده و می توانید از امکانات کنترل خود استفاده کنید .