PDA

View Full Version : آموزش ADO dotNet2



silentrise
دوشنبه 29 بهمن 1386, 23:11 عصر
سلام
بر اساس مشکلاتی که واسه خودم و بعضی از دوستان پیش اومد.خواستم اموزش ADOdotNet در CSharp و مثال های کاربردی و سورس کد های ان ها در این تاپیک داشته باشیم .کمک دوستان بزرگوار در استاندار سازی . بحث و انتقاد را با کمال میل می پذیرم ! من خودم تازه کار هستم.
منبع: MicrosoftADOdotNet2 از MicrosofPress .
این هم Database اماده برای کار مون (البته در SQL2000)

باسپاس
ِ

silentrise
سه شنبه 30 بهمن 1386, 03:23 صبح
سلام
ActiveDataObject (ADO)
مقدمه ای بر تعاریف و ماهیت ADO داشته باشیم!
ADO کتابخانه ObjectOriented ای است که اجازه دسترسی(ارتباط) شما رو به DataBase میدهد.در حالت عادی DataSource همان DataBase است اما شاید بخواین فایلText .یک صفحهExcel یا فایلXML تDataBaseو باشه.به همین دلیل سعی دارم در مورد ارتباط و راههای ارتباط بحث کنیم.
مطمینا شما میدونید که انواع برنامه در زمینهDataBase موجود است.مثل MicrosoftSQL Access .Oracle .BorlandInterbase . IBMDB2 و چیزای دیگه...
ولی بحث اصلی تقریبا روی SQL .
خوب. حالا در مورد یکسری تعاریف اولیه بحث میکنیم(البته این تعاریف رو بخونید ولی گیر ندین تا در زمان کار اون ها رو درک کنید )
ADO.Netدو قسمت اساسی داره:
DataProviders(ManagedProviders)= مخزن
و
DataSet= نماینده

DataProviders:
DataProviders فقط برای منبع ست. دارای چهارProvider است .البته خودتون هم میتونید بنویسید که نه موضوع بحث ونه کار من.
1: Provider ژنریک برای هر منبع OLE DB
2:Providers SQLServer البته اگه اشتباه نکنم برای ورژن 7 یا قبلی
3:ODBC
4:Oracle

فلن کافیه... من اخر هرپست یکسری منبع دیگه معرفی میکنم که از توی اونا خوندم!
http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson01.aspx
باسپاس

silentrise
سه شنبه 30 بهمن 1386, 15:37 عصر
سلام
من تقریبا سعی میکنم هر شب در یک پست مطالبی رو بگم و ممنون میشم از شما دوستان که سوالات خودت (البته از بحث های گذشته) مطرح کنید و در موردش صحبت کنیم!
دوستانی که فایل بالا رو گرفتن . درون آن فایلی به نام ConfigDB.exe است ان را اجرا میکنید و روی دکمه Attach کلیک می کنید تا DB با فرمت MDF اتچ شود!
حال اگر SQL Server Enterprise را باز کنید و نگاهی به databaseها کنید میبینید Database با نامAdoStepByStep در انجا وجود دارد !

بعد از این مراحل اماده سازی برای کار خودمو ن میتوانیم مثال ها را با DataBase اماده خود جلو ببریم (هدف این تاپیک اموزش ADOdotNetاست دوستان نهSQL .)
در پست بعدی ادامه تعاریف پست 2 را جلو میریم و پس از ان شروع کار ساده با ADOdotNet
باسپاس

silentrise
چهارشنبه 01 اسفند 1386, 06:27 صبح
سلام دوباره
ادامه بحث تعاریف اولیه و بعدش شروع مثال ابتدایی !
DataSet چیست؟
DataSet نماینده Database میباشد که در حافظه مینشیند.
DataSet از چه آبجکتیهایی تشکیل میشود؟
دو آبجکت DataRelationCollection و DataTableCollection که هر یک از اینها را از تو پراپرتی خودش میتواندسترسی داشت.
DataTableCollection چیست؟
ستون هایی که تشکیل میدهد را مشخص میکند و پراپرتی های مثل DataType وColumnName تغییر داد و مقادیری مثلAllowNull وMaxLength رو ست کرد.در اینجا PrimaryKey(برای حفظ یک پارچگی داده ها یعنی هر ردیف منحصر به فرد وردیف دیگری درست مثل این نیست) رو نیز میشه ست کرد.
DataRelationCollectionچیست؟
در اصل واسط بین یک ردیف اصلی(مثل
ID)در یک جدول به ردیف ها ی مرتبط به ان در جدول دیگر.این مفهوم مهمی حالا نمی دونم چقدر تونستم انتقال بدم.


حالا مثال:
دوستان من برای جلوگیری از خطاهای معمول عکس های قسمتهایی که توضیح میدم رو ضمیمه کردم.

یک پروژه جدید ایجاد کنیدSqlLServerServiceManager در حالت اجرا باشه.
پنجره DataSource باز باشه Shift+Crtl+D .
قسمتهایی در شکل امده را نگاه کنید سپس ادامه را بخوانید:::::
1 بعد از کلیک کردنAddNewDataSource و دیده شدن پنجره نوع منبع را انتخاب می کنیم .
2 انتخاب اتصال(یعنی کدام یک ازDatabase ها را میخوای انتخاب کنی)
بقیه داستان رو از رو شکل جلو برید اگر سوالی داشتین در خدمتم!:لبخندساده:
در این مثال فقط می تونید فیلد ها ی از قبل پر شده را ببینید !
لطف کنید قبل از دیدن مثال خودتون برنامه رو انجام بدین !
در آخر از دوستان بزرگوار که توضیحات ابتدایی من رو تحمل کردن سپاسگذارم
این منابع مکمل برای مقدمه است
http://msdn2.microsoft.com/en-us/data/aa937699.aspx
http://msdn2.microsoft.com/en-us/library/h43ks021(VS.71).aspx
http://msdn2.microsoft.com/en-us/library/zb0sdh0b(VS.71).aspx
با سپاس

silentrise
پنج شنبه 02 اسفند 1386, 10:51 صبح
سلام
DataProvidersConnection
بحث این پست در رابطه با Connection است .
تعریف: Connection یک شی برای برقراری فیزیکی بین منبع و برنامههای دات نت است که بخشی از DataProviders است و هرDataProviders فضای نا مختص به خود را داردمثلSql که از فضای نام System.Data.SqlClient استفاده میکند .
این پست آموزشی رو الان میخوام متفاوت باشه . جون زیاد جالب نیست ..........................................!
...................................!
شما این لینک رو نگاه کنید و در مو رد روابط و چگونگی آن سوال بپرسید تا ادامه موضوع رو پیش بگیریم !
http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson02.aspx
منبع برای درک مفاهیم Connection
http://msdn2.microsoft.com/en-us/library/ms807027.aspx#workshp2_topic1
باسپاس

sarnev6t
جمعه 03 اسفند 1386, 01:16 صبح
سلام دوست عزیز!
بسیار سپاسگزارم از ایجاد این تاپیک!
اگر از کتاب rebecca m.riordan استفاده میکنید پیشنهاد میکنم استفاده از اون رو کنار بگزارید
چون به نظر من کتابهای step by step تا حدود زیادی باعث انزجار میشه !
علتشم اینه که برای رسیدن به یک نتیجه از یک فصل باید از ابندای کتاب با اون حرکت بکنی!
به هر حال امیدوارم این تاپیک به حل مشکل بسیاری دوستان در استفاده از بانک اطلاعاتی(که واقعا بعضی وقتها اعصاب خورد کن میشه) کمک بکنه!
من پیشنهاد میکنم زیاد به تعریف مفاهیم نپردازید و کدهای مورد نیاز برای اتصال به بانک رو از پایه مثال بزنید و کم کم به سمت سایر مطالب برید
در ضمن دوست من اگه هیچ کس هم نیومد و نظری هم نداد دلسرد نشو چون یک روزی این مطالب به درد نسل سوم برنامه نویسهای ایران میخوره!
اینم بگم که قول مساعد میدم برای بهبود روند این تاپیک ار چند روز آینده حضور پررنگ تری داشته باشم!

silentrise
جمعه 03 اسفند 1386, 05:19 صبح
سلام و ممنون
آموزش فقط از روی کتاب و یا فقط از یک منبع خاص نیست اگر تاپیک ها رو خونده باشی میبینی که سعی کردم جاهای مختلفی رو هم معرفی کنم.
ممنون از پیشنهاد خوبت دوست من. ولی یک موضوعی است که ما ایرانی انجام میدیم اینکه فقط آزمون خطا دوست داریم کار انجام بدیم.
پست 2 رو بیشتر توجه کن ! ( این تعاریف رو بخونید ولی گیر ندین تا در زمان کار اون ها رو درک کنید )
حالا این تاپیک به درد چه کسانی میخوره؟ کسانی آزمون خطا کار کردن توی نکات ریز مشکل دارن ! البته برای بازی کردن دوستان تازه کار مثل خودم هم خوبه.
به هر حال سپاس گزارم دوست عزیز .

sarnev6t
جمعه 03 اسفند 1386, 15:22 عصر
دوست من به هر حال بهتره کارتو ادامه بدی !
من شخصا منتظرم!

sinpin
جمعه 03 اسفند 1386, 18:52 عصر
زیاد جالب نیست فقط من دارم اینجا چیز مینویسم . لطفا به من فیدبک بدید!
کسی اینجا فوشم بهم نمیده ....!

:)
کار بسیار پسندیده ای میکنید،
بنظر من اگه هر کس فقط یک مطلب رو دست بگیره؛ روی اون تمرکز کنه و یک تاپیک آموزشی راه بندازه، تالار سی شارپ دگرگون خواهد شد...

لطفا ادامه بدید؛ زیاد هم نگران فیدبک دیگران نباشید، اینکار قبل از همه به سود خود شماست.
حتی اگه فقط یکنفر از تاپیک شما مطلبی یاد بگیره و همون یکنفر هم فراموش کنه دکمه ی تشکر رو بزنه (!) باز خیالتون راحت باشه چون کائنات همیشه دکمه تشکر رو کلیک میکنه (!) و پاداش شما را میدهد. (تو نیکی می کن و در دجله انداز...)

موفق باشید دوست عزیز.

silentrise
شنبه 04 اسفند 1386, 04:14 صبح
سلام
با تشکر از همه دوستان بزرگوار به دلیل فیدبک ها
بی مقدمه میریم سر اصل موضوع...
ازConnection قسمتی مونده که اگه نگم عذاب وجدان میگیرم !البته به سرعت ازش رد میشم که بتونیم کم کم به جاهای خوب برسیم !
چگونگی ایجادSqlConnection ؟
بعد از یوزینگ کردن فضای نام مورد نظر(در اینجا SqlClient ) ان را مانند اکثر آبجکت های دیگر سی شارب تعریف میکنیم!

() SqlConnection conn = new SqlConnection
دارای دو اورلود است . یکی خالی : برای استفاده دیر تر و یکی دیکه که استرینگ است را باید تعریف کرد حالا اون استرینگه چیه؟ اگه یادتون باشه پست 4 عکس 2 یجا نشون دادم و گفتم کارش داریم این همون استرینگست که با کپی کردن اون و استفادش در اینجا کفایت میکنه.برای اطلاعات بیشتر عکس 1 این پست رو نگاه کنید.

چگونگی استفاده ازش ؟
یه چیزی بنام چرخه استفده یا چرخه زنده بودنش است که یک ساختار و قانون که باید انجام بدیم.1.ایجاد آبجکت ازSqlConnection
2 باز کردن آن = Open
3 این قسمت درس بعدی ولی اسمش رو میگم SqlCommand
4 استفاده از آن
5 بستن

این مثال رو که تو این لینک است رو آنالیز کنید ولی پیاده سازی نکنید اگر سوالی هم داشتین لطفا بپرسین
http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson02.aspx

یک سری چیزهای آسون رو عکس ضمیمه کردم.. نگاه کنید!

این پست رو سعی کردم یهخورده مختصر باشه که تو پست های بعدی در زمان کار در مورد بقیه صحبت کنیم مثال ضمیمه شده : از دوستان میخوام لطف کنن و این مثال رو خوب آنالیز کنند و یکی شبیه این درست کنند به سلیقه خودتون و اپ کنید تا با هم فکر کنیم .
منبع مکمل :
http://msdn2.microsoft.com/en-us/library/s4yys16a(VS.80).aspx
با سپاس

silentrise
دوشنبه 06 اسفند 1386, 12:09 عصر
سلام
این فایل ضمیمه شده یک اینترفیس ساده برای شروع یک تمرین ! البته می دونم که خیلی از جاها رو هنوز نگفتم ولی می خوام ببینم دوستانی که مثل خودم تازه کار هستن چه جوری و تا کجای برنامه رو جلو میرن ! البت یک دیتا بیس کوچیک هم واسش باید بنویسید اگه مشکلی تو این موضوع و قبلی ها داشتین . سوال بپرسین !
بعد از این تمرین میریم سر کارهای اساسی ... لطف کنید بر نامه رو هر چه سریع تر آپ کنید که هم یک سری مثال آرشیو داشته باشیم و هم مشکلاتمون رو با هم فکر کنیم !
باسپاس از همه

silentrise
دوشنبه 06 اسفند 1386, 12:13 عصر
این لینک هم پیش درآمدی به درس آینده است که اگه بخونید آماده تر خواهیم بود .
[http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson03.aspx]

silentrise
چهارشنبه 29 اسفند 1386, 22:28 عصر
با سلام خدمت دوستان
این مدتی که غایب بودم به دلیل بیماریم بود !
دوست عزیز زود قضاوت نکن و به زمان ورودت نسبت به صحبتاتون دقت کنید ! ممنون از شما
من این تاپیک رو ادامه میدم . تو این مدت سعی کردم مطالهه کنم . این تاپیک به سرعت شروع میشه از روز 2 فروردین !
از آقای امیر شکاری بابت امید واری و ساپرت این حقیر سپاس گذارم !
با سپاس
ُ

silentrise
چهارشنبه 07 فروردین 1387, 00:48 صبح
سلام
پس از غیبت طولانی و بد قولی بنده دوباره شروع مکنیم با دوره کردن مباحث گذشته !

شی ADO.Net

SqlConnection: این معرف ادرس مکان دیتا بیس است نام و پسورد و ... را در بر میگیرد و نیاز هر کار دیتا بیسی است.
SqlCommand:از این برای فرستادن جمله های Sql استفاده کنید (جمله دیتا بیس یا ).
SqlDataReader : برای بدست آوردن نتیجه دستور select از شی است.
DataSet : شما تصور DataSet کنید همان DataBase است ! که دارای اشیای ردیف و ستون ها هستند .
SqlDataAdapter : ترجیح میدم این رو اریجینال بخونید !

The SqlDataAdapter is used to fill dataset object when reading the data and writes in a single batch when persisting changes back to the database. A data adapter contains a reference to the connection object and opens and closes the connection automatically when reading from or writing to the data base. The data adapter contains 4 command objects i.e. SELECT, UPDATE, DELETE, and INSERT

در پست بعدی با مثال شروع میکنیم !

silentrise
شنبه 10 فروردین 1387, 14:36 عصر
سلام
در این پست یک مثال ساده برای شروع کار گذاشتم که در هر پست با ید با همکاری هم اون رو بهینه کنیم !
باسپاس

silentrise
یک شنبه 11 فروردین 1387, 01:42 صبح
سلام
در پست آموزشی قبل یک تصویر ضمیمه که سوال پرسیده بودم ! وجود داشت , این پست هم باز با تصویر ضمیمه که سوال داره میپرسم !
لطف کنید جواب بدید !
در پست بعدی جوابشون رو میدم
باسپاس

silentrise
یک شنبه 11 فروردین 1387, 11:54 صبح
سلام
این سایت مناسبی برای Keyword های SQL است !
http://www.w3schools.com/sql/sql_intro.asp

sarnev6t
یک شنبه 11 فروردین 1387, 20:13 عصر
سلام
در پست آموزشی قبل یک تصویر ضمیمه که سوال پرسیده بودم ! وجود داشت , این پست هم باز با تصویر ضمیمه که سوال داره میپرسم !
لطف کنید جواب بدید !
در پست بعدی جوابشون رو میدم
باسپاس

سلام فکر کنم مربوط به یکتایی کلید اصلی باشه! id اینجا کلیده!

silentrise
یک شنبه 11 فروردین 1387, 20:25 عصر
سلام فکر کنم مربوط به یکتایی کلید اصلی باشه! id اینجا کلیده!
سلام
دقیقا درست گفتید ! چیز هایی مثل Password و userName باید تک باشند !
و عکس پست 18# خاصیت AllowNulls را باید تیکش را برداشت !
باسپاس از همکاری شما !

silentrise
چهارشنبه 14 فروردین 1387, 14:49 عصر
سلام
این مثال قبلی با کمی تغییر است ! از دوستان میخوام که لطف کنند و این برنامه کوچک رو بهینه و استاندارد کنند !
با سپاس از همکاری دوستان

silentrise
جمعه 16 فروردین 1387, 20:12 عصر
سلام
تو همین سایت خودمون قبلا یکی لطف کرده استارت این کارو زده !
من خیلی خوشحال میشم که به من هم کمک کنه ! البته ایشون نیستند ظاهرا !
به هر حال , شما نگاهی به این کنید !
http://barnamenevis.org/forum/showthread.php?t=87086

sinpin
چهارشنبه 28 فروردین 1387, 13:00 عصر
سلام
تو همین سایت خودمون قبلا یکی لطف کرده استارت این کارو زده !
من خیلی خوشحال میشم که به من هم کمک کنه ! البته ایشون نیستند ظاهرا !
به هر حال , شما نگاهی به این کنید !
http://barnamenevis.org/forum/showthread.php?t=87086

اون تاپیک به دلیل عدم رعایت کپی رایت (عدم درج منبع) و تکراری بودن حذف شد.
اما آدرس تاپیک اصلی و مرجع اینه :
http://barnamenevis.org/forum/showthread.php?t=94296

silentrise
یک شنبه 16 تیر 1387, 00:40 صبح
سلام
من بر گشتم و می خوام کار نا تمام رو ادامه بدم با کمک شما دوستان ! پس لطف کنید با سوال کردن من رو جدب کار کنید !
با سپاس از همه