کنترل SqlDataSource یکی از کنترل های سرور داده پرکاربرد در ASP.NET است ، که به شما امکان اتصال به انواع مختلفی از منابع داده ای همچون پایگاه داده SQL Server ، Access ، Oracle و یا منابع داده ای OLE DB یا ODBC را می دهد .
کنترل SqlDataSource ، همانند سایر کنترل های سرور داده خود قادر به نمایش و یا ویرایش اطلاعات منابع داده ای نیست و برای این منظور بایستی این کنترل را به همراه یک کنترل وب دیگر که قادر به نمایش و ویرایش اطلاعات منابع داده ای است مثل کنترل های FormView و یا GridView استفاده کرد . به عبارت دیگر این کنترل همانند یک پل یا رابط بین منبع داده و کنترل وب نمایش دهنده اطلاعات عمل کرده و اطلاعات درخواست شده را از منبع داده دریافت کرده و به کنترل وب منتقل می سازد . همچنین در صورت نیاز اطلاعات اصلاحی و ویرایش شده را از کنترل وب به منبع داده ای ارسال می کند .

همچنین کنترل SqlDataSource به کنترل های وب که با آن استفاده می شوند ، امکانات و قابلیت های بسیاری همچون صفحه بندی( Paging ) ، مرتب سازی اطلاعلات ( Sorting ) ، فیلترینگ داده ( Filtering ) و … را اضافه می کند . در واقع کنترل های سرور داده مثل SqlDataSource این وظایف را برای کنترل های وب انجام می دهند .
در واقع اتباط بین یک کنترل SqlDataSource و یک کنترل وب مثل GridView به صورا زیر است :

منبع داده ای        کنترل داده SqlDataSource       کنترل وب

نحوه کار کنترل SqlDataSource :

کنترل SqlDataSource ، از کلاس های مختلف ADO.NET برای ارتباط با منابع داده ای که در این زبان پشتیبانی می شوند ، استفاده می کند . کلاس های استفاده شده برای این منظور در لیست زیر آمده اند . نام این کلاس را در زمان تنظیم کنترل SqlDataSource برای کار با هر یک از پایگاه های داده مربوط باید در قسمت ProvideName خاصیت ConectionString کنترل ، چنانچه که بعده توضیح می دهیم ، قرار داد .

System.Data.SqlClient : برای ارتباط با پایگاه داده SQL Server
System.Data.oleDb : برای ارتباط با منبع داده ای OLE DB
System.Data.odbc : برای ارتباط با منبع داده ای ODBC
System.Data.OracleClient : برای ارتباط با پایگاه داده Oracle

استفاده از کنترل SqlDataSource، به شما امکان می دهد تا با ترکیب این کنترل وب به سادگی و بدون استفاده مستقیم از کلاس های ADO.NET ، داده های مورد نظر خود را بر روی صفحات وب ASP.NET نمایش داده و ویرایش کنید .
برای اتصال یک کنترل SqlDataSource به پایگاه داده ، شما بایستی موارد زیر را تنظیم کنید :

ConnectionString : رشته ارتباطی یا ConnectionString توسط خاصیت ConnectionString کنترل تعیین شده و در واقع شامل اطلاعات لازم برای اتصال کنترل به پایگاه داده است . این اطلاعات شامل نام و مکان سرور پایگاه داده ، نام جدول بانک اطلاعاتی مورد نظر و در صورت نیاز اطلاعات امنیتی مثل کلمه عبور و رمز جهت اتصال به پایگاه داده است . نحوه تنظیم این خاصیت را در بخش بعدی شرح می دهیم .
SelectCommand : دستور انتخاب توسط خاصیت ُSelectCommand کنترل تعیین شده و شامل یک دستور SQL از نوع Select است و اطلاعاتی را که باید از از جدول بانک اطلاعاتی استخراج شود را تعیین می کند . همچنین مقدار این خاصیت می تواند نام یک تابع آماده SQL یا ( ُ Stored Procedure ) نیز باشد ، که در آن دستورات لازم برای انتخاب اطلاعات مورد نظر تعریف شده است و می تواند برای فراخوانی داده مورد استفاده قرار بگیرد .
نحوه تنظیم این خاصیت را در بخش بعدی به طور مفصل شرح می دهیم .
Provider : تامین کننده یا Provider : که توسط قسمت Provider در خاصیت Connectionstring کنترل تنظیم می شود ، تعیین کننده کلاس ADO.NET ای است که کنترل برای اتصال به پایگاه داده از آن استفاده می کند .

در زمان اجرا ، کنترل SqlDataSource با توجه به رشته ارتباطی تعیین شده ( ConnectionString ) برای آن ارتباط با پایگاه داده مورد نظر را باز کرده ، دستورات SQL خاصیت SelectCommand را اجرا می کند و اطلاعات لازم را از پایگاه داده به کنترل یا کنترل های وب متصل به خود منتقل می سازد . همچنین در صورتی که اطلاعات اصلاحی یا ویرایش شده نیز وجود داشته باشد آن را از کنترل وب به پایگاه داده و در نهایت ارتباط را می بندد .