PDA

View Full Version : آموزش ADO .NET در سی شارپ



danial82
یک شنبه 06 آذر 1384, 13:33 عصر
با اجازه پیشکسوتهای فروم تو این تاپیک میخوام قدم به قدم ADO .NET در سی شارپ از رو کتاب C# Programmer's Handbook بگم

از مفاهیم پایه در ADO .NET شروع میکنیم :

برای استفاده از یک database دو را وجود دارد: connected , disconnected

برای روش connected از کلاسهای XXXConnection و XXXCommand و XXXDataReader باید استفاده کرد.

برای حالت disconnected از کلاس XXXDataAdapter باید استفاده کرد در این حالت از سه کلاس گفته شده در روش connected به همراه آبجکت DataSet نیز میتوان استفاده کرد . (منظور از XXX ، sql , oldbمیباشد)
ADO.NET دارای دو آبجکت پایه است :
DataTable : یک شی است که در داخل خود شامل سطر و ستون است دقیقا مثل جدول

DataSet : یک شی است که میتواند مجموعه از دادههای مبدا را در خود نگهداری کند این شی در ADO بنام recordset شناخته میشود . یک DataSet از DataTable مختلف درست شده است و میتواند جداول متعددی از database مبداء را در خود نگه دارد.Data provider های متفاوت اجازه دسترسی به database های مخصوص به خود را میدهند. Data provider ها دارای کلاسهای پایه ای هستند که توسط آنها میتوان به داده ها دسترسی داشت.

کلاسهای اصلی برای دسترسی به database


Connection -1
از این کلاس برای اتصال به database استفاده میشود

Command -2
از این کلاس برای اجرای دستورات بر روی داده ها استفاده میشود این کلاس دارای متدهای متعددی از جمله ExecuteScalar ، ExecuteNonQuery ، ExecuteReader برای اجرای دستورات میباشد .

DataReader -3
از این کلاس تنها برای خواندن داده ها استفاده میشود .

DataAdapter
-4 از این کلاس برای پر کردن یا update یک data set بکار میرود . این کلاس یک پل بین data set و data source برقرار میکنه

مطهر
یک شنبه 06 آذر 1384, 20:44 عصر
برا شروع خوبه ممون

از مفاهیم پایه در ADO .NET شروع میکنیم :
امیدارم مباحث پیشرفته هم مطرح شود
موفق باشید

amir_3530
دوشنبه 07 آذر 1384, 00:14 صبح
اگر آموزش کامل باشه خیلی خوبه

danial82
شنبه 12 آذر 1384, 07:38 صبح
لطفا غیبت چند روزه منو ببخشید
اگر از درس امروز یه مقدار گیج شدید نترسید و مطالب رو دنبال کنید به زودی کاربرد هر کدوم رو تو مثال باهم خواهیم دید امروز میخوام کلاسهای رایج در System.Data رو توضیح بدم

1-Constraint
این کلاس برای نشان دادن محدویتهای بکار رفته در یک شی DataColumn بکار میرود

ConstraintCollection -2
این کلاس همانطور که از اسمش پیدا است مجموعه ای از Constraint ها میباشد

DataColumn -3
این کلاس یک الگو یا طرح یا shema از ستونهای شی DataTable میباشد

DataColumnCollection -4
این کلاس همانطور که از اسمش پیدا است مجموعه ای از DataColumn ها میباشد

DataRelation -5
این کلاس برای نشان دادن یک رابطه parent-child بین دو جدول بکار میرود

DataRelationCollection -6
این کلاس همانطور که از اسمش پیدا است مجموعه ای از DataRelation ها میباشد

DataRow -7
این کلاس برای نشان دادن یک سطر از داده های درون یک جدول بکار میرود


DataRowCollection -8
این کلاس همانطور که از اسمش پیدا است مجموعه ای از DataRow ها میباشد

DataRowView -9
این کلاس شامل خواص مختلفی برای دیدن داده های درون DataRow میباشد

DataSet -10
این کلاس یکی از اصلی ترین کلاسها در ADO .NET میباشد این کلاس برای نشان دادن یک یا چند جدولی که از منبع داده ها در حافظه لود کردیم بکار میرود

DataTable -11
این کلاس یکی دیگر از اصلی ترین کلاسها در ADO .NET میباشد این کلاس برای نشان دادن جداولی است که از منبع داده ها در حافظه لود کردیم بکار میرود

DataView-12
با این کلاس میتوان یک نما دلخواه از DataTable را داشته باشیم منظور از نمای دلخواه sorting, filtering, searching, editing میباشد

DataViewManager -13
این کلاس شامل نماهای پیش فرض برای شی DataTable میباشد


مطهر عزیز اگه لطف بگی منظورت از مباحث پیشرفته چیه ممنون میشم تا اگه تونستم اونها رو هم توضیح بدم
amir_3530 جان من تمام سعی خودمو میکنم تا بتوانم یه آموزش کامل ارایه بدم :چشمک:

danial82
یک شنبه 13 آذر 1384, 09:16 صبح
از این قسمت به بعد ، با مثال کاربرد کلاسهای گفته شده رو با هم ببینیم

ایجاد اتصال به یک Database

اولین کار برای استفاده از یک Database اتصال به آن است برای اتصال به یک Database همانطور که قبلا گفته شد از کلاس SqlConnection استفاده میشود . کلاس SqlConnection پراپرتی بنام ConnectionString دارد که string ی است که توسط آن کلاسSqlConnection متوجه میشود به چه Databaseی باید متصل شود آیا Database مقصد پسورد دارد ؟ .... و از این قبیل اطلاعات .در مثال زیر یک SqlConnection ایجاد شده سپس با متد open() اتصال ایجاد شده برای استفاده باز میگردد


using System;

using System.Data.SqlClient;

namespace Client.Chapter_13___ADO.NET
{
class CreatingSQLConnections
{
static void Main(string[] args)
{
SqlConnection MyConnection =
new SqlConnection("Data Source=(local);"
+ "Initial Catalog" + "MyDatabase;"
+ "User ID=sa;Password=");

//Creates and opens a connection to the database

MyConnection.Open();
}
}
}


البته برای open کردن یک connection روش بهتر استفاده از کد زیر است
try
{

if (MyConnection.State != ConnectionState.Open)
MyConnection.Open();

}

catch (Exception ex)
{
MessageBox.Show( ex.Message);

}

مطهر
یک شنبه 13 آذر 1384, 12:26 عصر
عالیه
به نظراین حقیر بیشتر تمرکز را بر روی Disconnected DataBase بزار . کار با دیتاست ، و مدل Disconnect
این سوال این بیسواد را هم جواب بده لطفاً
http://www.barnamenevis.org/forum/showthread.php?t=33716
موفق باشید

mahdishojaee
دوشنبه 18 دی 1385, 18:00 عصر
خیلی ممنون از زحمتت.استفاده کردیم

benyamin_pc
سه شنبه 19 دی 1385, 07:24 صبح
اگه تاپیک رو قفل کنید که فقط خودتون بتونین پیام بزارین و به کارتون ادامه بدین خیلی خوب میشه به صورت یه منبع آموزشی در میاد و بین آموزش ها فاصله نمیافته سوالها تو تاپیک هایی با عنوان های وابسته خیلی بهتره
در هر صورت دسته شما درد نکنه و امید وارم این کارتون رو تا حد زیادی ادامه بدین

benighted.boy
جمعه 28 دی 1386, 11:53 صبح
با سلام.
ممنون از زحماتی که کشیدین.
من هم با نظر دوستمون benyamin_pc موافقم اگر تاپیک قفل بشه و دوستان فقط نظاره گر باشن خیلی بهتره .از طرفی هم فکر میکنم بحث حول محور Disconnect بگرده خالبتر باشه .چون در مورد Connect بحث زیاد شده . یه پیشنهاد کوچیکم داشتم .اگر برای شما زحمتی نیست جای پستهای متفاوت کلیه مطالب در یک فایل pdf نوشته و upload کنید .(البته اگر امکان این کار برای شما فراهم باشد)

Bahar_HS
سه شنبه 26 شهریور 1387, 07:07 صبح
با سلام
بحثی رو که شروع کردید ، ادامه نمی دید؟؟

benyamin_pc
سه شنبه 26 شهریور 1387, 12:54 عصر
بهار خانم می دونین این تاپیک مال کیه؟!!!
اون آقایی که این آموزش رو اینجا میذاشتن و شما الان دارین بهشون می گین ادامه نمیخوای بدی
الان اصلا" معلوم نیست دیگه تو فروم میان یا نه !

mahdihp.devs
چهارشنبه 31 تیر 1388, 11:36 صبح
با تشکر از آموزش شما .لطفا مثالها را حرفه ای تر و کاربردی تر ارائه کنید. :قلب:

mahdihp.devs
چهارشنبه 31 تیر 1388, 11:43 صبح
لطفا آموزش LINQ هم بگذارید.:بوس::قلب:

danial82
جمعه 13 آذر 1388, 23:17 عصر
میدونم که خیلی وقته از شروع این تاپیک میگذره و خیلی ها از ادامه این تاپیک نا امید شدن البته حق هم دارن
داشتم تو لیست تاپیکهای زده شده توسط خودم میگشتم رسیدم به این تاپیک و دیدم دوستان چقدر مشتاق هستند این بود خواستم تاپیک و دوباره فعال کنم
با عرض معذرت از دوستان بخاطر تاخیر طولانی

mostafa_shoakry
یک شنبه 15 آذر 1388, 21:26 عصر
بچه ها کی Link آموزشی Microsoft Ado.net Tutorials رو داره ترجیحا LyndaیاTotal Trainingباشه بهتره.Linkها Rapidshare,Megaupload,Filefactoryو... می تونه باشه.البته زبان اصلیشون.من هر چه قدر گشتم نتونستم پیدا کنم .اونایی رو که پیدا کردم همه فایلارو در اختیارم قرار نمی دادند یا به عبارت ساده تر پولی بودند.

danial82
دوشنبه 23 آذر 1388, 09:56 صبح
بچه ها کی Link آموزشی Microsoft Ado.net Tutorials رو داره ترجیحا LyndaیاTotal Trainingباشه بهتره.Linkها Rapidshare,Megaupload,Filefactoryو... می تونه باشه.البته زبان اصلیشون.من هر چه قدر گشتم نتونستم پیدا کنم .اونایی رو که پیدا کردم همه فایلارو در اختیارم قرار نمی دادند یا به عبارت ساده تر پولی بودند.

Total Training رو تو وبلاگ(امضا) من میتوانی پیدا کنی

ghasem110deh
چهارشنبه 26 شهریور 1393, 16:18 عصر
آموزش تموم شده ؟
یا ...

b61_zeus
چهارشنبه 22 بهمن 1393, 16:59 عصر
خیلی ممنون بابت آموزش

jokerhp
پنج شنبه 15 بهمن 1394, 15:54 عصر
سلام ببخشی میخوام بدونم من باید بانکمو کجا سیو کنم و مسیر کانکشین استرینگو چی بدم که برای کامپیوتر های دیگه هم کار کنه

daniyaltjm
جمعه 08 مرداد 1395, 23:51 عصر
سلام این تایپیک ادامه نمی یابد؟! یا تایپیک جدیدی ساخته شده؟