PDA

View Full Version : سوال: سوالاتی در مورد TableAdaptor و BindingSource



babakkiani
پنج شنبه 30 دی 1389, 09:41 صبح
سلام،
ممنون از اینکه وقت می گذارین. من چند تا سوال برام پیش اومده که از نادانی دارم عذاب می کشم.لطفا کمکم کنید.
هنگام تعریف یک DataSource و Drag کردن آن روی فرم چند تا چیز زیر صفحه Design form اضافه میشه.
اصولا غیر از DataSet , Bindingnavigator (تا حدودی میدونم چی هستن)اون دوتای دیگه منظورم BindingSource و TableAdaptor اینها چی هستن و چطوی کار میکنن و اصلا به چه دردی می خورن؟ و آیا دقیق شدن روی عملکرد اونها لازمه؟
من برای اتصال به DataBase فقط از LINQ استفاده کردم و اصلا از این دو مورد سر در نمی یارم؟!!

65300


این دو تا Object ان؟ یا کلاس؟ اگه Object هستن توی کلاس فرم قرار می گیرن؟ در نهایت چیکار میکنن.
من کلی مطالب بدرد نخور در مورد این دو تا خوندم اما هیچی نفهمیدم.میشه منو راهنمایی کنین؟
بازم ممنونم.
بابک.

mohsen_csharp
پنج شنبه 30 دی 1389, 23:29 عصر
با سلام
به طور خلاصه دیتاست ها محلی برای ذخیره موقتی داده ها در جداول آن می باشد که کلاسی به نام دیتاآداپتر با کمک کلاس های کانکشن و کامند بین پایگاه داده و دیتاست ارتباط برقرار می شه.
مایکروسافت در دات نت 2005 روشی کلاس بالاتر برای کار کردن با این اشیا معرفی کرد که Typed DataSet ها بودند و با code generator که ایجاد کرده بود این روش را برای سرعت بخشیدن به کدنویسی ایجاد کرد.
table Adapter ها ابزار مدیریتی جداول موجود در دیتاست می باشد که البته این table adapter ها در درون خودشان از همان کلاس های قبلی مانند data adapter و.. استفاده می کنند.
table adapter ها ایجاد شده اند تا با یک جدول موجود در دیتاست کار کنند و توابع مفیدی می توان برای آن تعریف کرد.
به عنوان مثال تابع Fill که عملیات پر کردن داده را بر عهده دارد و به صورت پیش فرض ایجاد می شود شما می توانید توابع سفارشی خود را برای آن بنویسید مانند updade و ..
biding source ها هم کلاس هایی هستند که برای بایند شدن بین جداول دیتاست و اشیایی مانند dataGridView استفاده می شوند که این binding source در داخل خود currency manager دارد که برای مدیریت بایند از آن استفاده می کند. تو این مورد زیاد ریز نشیم بهتره.
کدها این دیتاست در داخل فایلی به نام (در اینجا) babakDataSet.Designer.cs قرار داره که تمامی کلاس های سطح بالاتر در اینجا تعریف شده است (البته کدهاش خیلی زیاده)
سعی کردم به طور خلاصه منظورمو برسونم
البته اگه تجربه تو برنامه نویسی بیشتر بشه کم کم اینا رو هم درک می کنی