PDA

نسخه کامل مشاهده نسخه کامل : ارتباط با بانك



amie hossein
24-11-2006, 14:06
سام آقا تو رو خدا يكي روش ارتباط با بانك اطلاعاتي و كار كردن با اونو به طور كامل تو vb,asp.net 20055555 برام توضيح بده .20055 ها

amie hossein
30-11-2006, 17:10
سلام بابا يكي نيست جواب ما رو بده !!!!!!!!!!!!
تو رو خدا يكي نحوه كار كردن با بانك اطلاعاتي رو به طور كامل در vb,asp 2005 تاكيد ميكنم 2005 رو برام بگه آخه تو 2005 با 2003 يه كم فرق ميكنه تو 2003 conecction oledb داريم ولي تو vb 2005 نداريم؟؟؟؟؟؟؟؟؟؟؟!!!!

jinafterload
26-01-2010, 15:27
تو اینجا مطرح کن
barnamenevis.org

anvar.net
26-01-2010, 23:25
روش اتصال با بانک های اطلاعاتی و استفاده از آنها در vb.net 2005 (البته نه بصورت کامل چون کاملا حجیم و جامع هست و نمیشه تو یک پست کاملش کرد ولی کلیات رو میگم ) البته شما اگه یه نیم نگاهی به پست های قبلی می انداختید حتما به جواب می رسیدید :

از ویژوال استدیو 2003 به بعد مایکروسافت بجای استفاده از تکنولوژی قدیمی Ado به تکنولوژی جدیدی به نام Ado.net مهاجرت کرده است که توانایی های بسیار بیشتر و سودمند تری نسبت به ADO دارد که مهمترین آن غیر متصل بودن ان است یعنی هر زمانی که نیاز به اتصال به بانک داشته باشیم از طریق کلاس های ADO.NET به بانک متصل شده و پس از انجام کار اتصال را می بندیم , این روش دو مزیت عمده دارد, بویژه در وب که از اتصال دائم استفاده نمی کنیم و هر زمان که نیازی به اتصال بود اتصال را برقرار کرده, پس نیازی نیست که همیشه اطلاعات از مروگر به سرور و برعکس در سیر باشند. مزیت دوم هم میزان منابعی است که توسط کلاس های مورد استفاده اشغال می شوند که در ADO.net به محض بستن اتصال می توانیم خیلی از اشیاء مربوطه را بصورت دستی از بین ببریم :

کلاس ADO.net از کلاس های مختلفی تشکیل شده که هر کدام از آنها کارهای مختص به خود را انجام داده و بعنوان میانجی بین قسمت های مختلف Ado.net ایفای نقش می کنند .

کلاس های قابل توجه عبارتند از : Connection , Cammand , Dataadapter , Datareader , Dataset و Datatable . البته کلاس های دیگری هم هستند که در اینجا ازشون بحث نمی کنم.

همگی کلاس های فوق در سه بخش بنام های Dataprovider یا فراهم کننده داده, Dataset یا مجموعه داده ها و Datatable یا جدول داده ها قرار می گیرند. تامین کننده داده خود از اجزای فرعی (Connection , Cammand , Dataadapter , Datareader) تشکیل شده است و وظیفه آن همانطور که از نامش بر می آید اتصال به بانک و اعمال جستجو ها و برگشت نتایج در ساده ترین فرم است. پس از این که اتصال از طریق شی اتصال یا Connection برقرار شد, dataadapter و Datareader با استفاده از شی cammand و عبارات SQL موجود در آن یا نسبت داده به آن نتایج را از بان می گیرند و در دیتاست یا دیتا تیبل می ریزند و ما می توانیم با داده های موجود در این دو شی کار کنیم. اطلاعات موجود در این دو شی در حافظه قرار می گیرند و نیازی نیست تا همواره اتصال با بانک وجود داشته باشد.

برای اتصال به بانک و اعمال جستجوهای مختلف چندین فراهم کننده مختلف وجود دارند که از کلاس پایه Dataprovider ارث بری می کنند. یکی از نسخه ها یا نگارش های این فراهم کننده ها که معمولا عمومی هست و برای اتصال به بانک های مختلف بکار می رود OLEDB است (این فراهم کننده از بانک های اکسس, اس کیو ال و اوراکل پشتبانی می کند , و معمولا بعنوان فراهم کننده مستقل از نوع بانک هم شناخته می شود. اما به این نکته توجه شود که برای بانک های SQL و Oracel فراهم کننده های اختصاصی در فضای نام System.Data وجود دارند که از نظر سرعت و کارایی به مراتب بهتر از OLEDB عمل می کنند اما در این مثال از همان فراهم کننده داده OLEDB اثتفاده می کنم).

شما در بالا گفته بوید که در Vb 2003 کلاس OLEDB connection وجود دارد اما در نسخه 2005 وجود ندارد, این حرف اشتباه است و همچنان فراهم کننده فوق وجود دارد و در فضای نام System.Data.OLEDB پیاده سازی شده است. برای این که از از این فراهم کننده استفاده کنیم در بالای فرم خود باید آنرا Import کنید



Imports System.Data.OLEDB

خوب حالا می رسیم سر اصل مطلب : برای این که به یک بانک مثلا از نوع اکسس وصل شیم و بتونیم با ان کار کنیم بصورت زیر عمل می کنیم
به این نکته توجه شود که بیشتر کلاس های موجود در ADO.NET دارای سازنده ای به نام New هستند که می تواند بصورت های مختلف پیاده سازی شود, در اینجا ما از ساده ترین فرم استفاده کرده ایم

1 - در مرحله اول نیاز به یک شی اتصال یا Connection داریم : پس یک نمونه از آنرا می سازیم :



Dim ObjConnection as New OLEDBconnection



شی فوق رشته اتصالی از نوع String را بعنوان پارامتر دریافت می کند که فراهم کننده و مسیر بانک اطلاعاتی را برای ما مشخص می کند که باید به سازنده آن ارسال کنیم. این رشته اتصال تمامی اطلاعات لازم برای اتصال به پایگاه داده را در خود دارد. اطلاعات فوق با توجه به نوع فراهم کننده داده (OLEDB , SQL و Oracel) متفاوت هستند, در صورتی که از بانک اکسس استفاده کنیم رشته اتصال شامل نوع فراهم کننده و نسخه آن (Provider) به همراه مسیر بانک اطلاعاتی (Data Source) است.



Dim StrConnection as String=”Provider=Microsoft.Jet.OLEDB.4.0;” & “Data source=C:\database.mdb”



حالا کد بالا بصورت زیر می شود :





Dim ObjConnection as New OLEDBconnection(StrConnection)



2 – در مرحله دوم باید اتصال را باز کنیم. با توجه به این که در زمان باز کردن اتصال ممکن است به مشکلات پیش بینی نشده ای برخورد کنیم (مثلا وجود نداشتن فایل پایگاه داده و یا قطع شدن شبکه و ...) همواره توصیه می کنم که باز کردن اتصال ها را در بلوک های Try-catch قرار بدید تا در صورت بروز مشکل بتوانید آنها را مدیریت کنید. در صورتی که در حین باز کردن اتصال برنامه با مشکلی مواجه شود بلوک catch با آن مواجه می کند و نوع خطای رخ داده را شناسایی و در صورت نیاز آنرا مدیریت می کند.
برای باز کردن اتصال از متد Open موجود در کلاس Oledbconnection استفاده می کنیم که فاقد پارامتر است.
پس از این که اتصال برقرار شد و اطلاعات خود را از بانک گرفتیم نیازی به باز بودن شی اتصال نیست و می توانیم با استفاده از متد Close آنرا ببندیم (البته هنوز در این جا به باز بودن آن نیاز داریم).

3 – شی سومی که به ان نیاز داریم شی Cammand است. وظیفه کلاس command اجرا کردن دستورات SQL یا روال های ذخیره شده بر روی پایگاه داده است که اعمال مختلفی مانندن خواندن اطلاعات, درج اطلاعات, حذف اطلاعات و بروزرسانی جدول ها را شامل می شود. این کلاس همچنین می تواند پارامترهای مورد نیاز دستورات یا روال های ذخیره شده را نیز ارسال کند.
حالا شی Command خود را می سازیم. این کلاس نیز دارای سازنده ای به نام New هست که دو شی را دریافت می کند, اول عبارت SQL که بصورت رشته یا String هست و دوم شی اتصال که در قسمت های قبل آنرا پیاده سازی کردیم.
فرض می کنیم که شما نیاز به اطلاعات موجود در یکی از جدول های بانک اطلاعاتی را دارید.


Dim StrSQL as string=”Select * From tableName”


Dim objcommand as new OleDbCommand(StrSQL, Objconnection)

در صورتی که بخواهید از روال های ذخیره شده استفاده کنید باید از سازنده دوم آن استفاده کنید که در این جا ذکر نمی کنم.

4 – شی چهارم مورد نیاز Dataadapter هست که وطیفه آن اجرای شی Command و خواندن داده ها از پایگاه داده و پر کردن اشیاء Dataset و Datatable با اطلاعات فوق است. برای پر کردن دیتاست و دیتا تیبل با اطلاعات خوانده شده از بانک از متد Fill شی Dataadapter استفاده می کنیم.

این کلاس نیز دارای سازنده New هست که شی Command ی را که در مرحله قبل پیاده زای کردیم بعنوان پارامتر قبول می کند.



Dim objDataadapter As New OleDbDataAdapter(objcommand)



در این مرحله نیز شی Datatable را اعلان می کنیم. به این نکته توجه شود که کلاس های Dataset و Datatable مستقل از نوع فراهم کننده داده هستند.



Dim objdatatable As New DataTable("Cars")

حالا می توانیم اطلاعاتی را که dataadapter از بانک می گیرد به datatable منتقل کنیم.



objDataadapter.Fill(objdatatable)

حالا می توانیم از داده های موجود در شی Datatable که بصورت سطر و ستون هایی هستند استفاده کنید.

در این جا نیازی به باز بودن اتصال نداریم و آنرا می بندیم. همچنین با متد Dispose تمامی منابع در دسترس آنرا آزاد می کنیم.



objconnection.Close()


objconnection.Dispose()



اگه سوالی بود, خواهشا شفاف و واضح همینجا بگید اما عجله نکنید[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
همه کد های بالا




برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sinaaeeni
06-02-2010, 17:19
سلام
برای آموزش بیشتر یه نمونه سورس میزارم که امیدوارم با توضیحاتی که دوستان دادند براتون مفید باشه


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید