برگزیده های پرشین تولز

ارتباط ويژوال بيسيك با ديتابيس

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
اول سلام مي كنم به تمامي اساتيد و كاربران گرامي اين سايت. چون اين پست دوم من است و اجازه مي گيرم از سروران گرامي.
من در اين زمينه هيچ تجربه اي ندارم. مي خواهم در اين تاپيك از تجربيات دوست گرامي بلا بلا و بقيه اهل فن كمك بگيرم.
البته خودم تمام انرژي خود را مي گذارم تا مطلب پيدا كنم ، ولي به راهنمايي دوستان كاملا محتاجم.
خواهشمندم هر جا نكته اي هست بگوييد و اگر اشتباه چيزي را گفتم ، بي ملاحظه تصحيح كنيد.
هدف يك نوع يادگيري جمعي است . و من اجازه مي خواهم هر يك از دوستان چيزي ياد داد ، در فروم ديگر بي ذكر فروم و فقط ذكر اسم گوينده استفاده كنم. چون مسئله مهم براي من همكاري بين فرومي است براي حل اين قضيه كه براي خيلي ها مثل من معضلي شده. يعني:
ارتباط دادن ويژوال بيسيك با ديتابيس.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
ado چيست؟
براي شروع دستورات اوليه و محيط كار را معرفي كنيد.
.دستورات
sql
را چطور بايد استفاده كنيم؟
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
تاپيك خوبيه!! من هم تو ديتابيس صفرم!! اگه يكي بياد آموزش بده خوشحال ميشم!!:)
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
night11
ADO (Activex Data Object) یک Component object model هست شی ء برای دسترسی به منابع داده .
ADO یک لایه بین زبان برنامه نویسی و OLE DB که به توسعه دهندگان اجازه می دهد برنامه ای بنویسند که به داده ها دسترسی داشته باشند .بدون اینکه اینکه بدانند پایگاه داده چگونه پیاده سازی شده .
شما فقط برای ارتباط باید از پایگاها داده اطلاع داشته باشید .
برای دسترسی به پایگاه داده وقتی که از ADO استفاده می کنید نیازی به دانستن دستورات SQL ندارید .
هر چند یکبار می توانید ADO را بوسیله ی دستورات SQL اجرا کنید .
اشکال این کار این است که این معرفی کردن وابستگی بر روی پایگاه داده ایجاد می کند .

ADO شامل چندین سطع شی ء هست .

Connrction : نمایش ارتباط با پایگاه داده
Recordsetدسترسی به یک دسته از رکوردهای پایگاه داده :
Command : نمایش یک دستور SQL
Record :نمایش یک دسته از داده ها ، بطور نمونه از یک منبع متفاوت یک پایگاه داده
Stream : نمایش مسیر داده ها از یک فایل متنی یا صفحه وب
Error : ذخیره کردن خطاها
Field : نمایش فیلدهای پایگاه داده
Parameter : نمایش پارامترهای SQL
Property : ذخیره اطلاعات شی ها

ADO برای ارتباط با زبانهای سطح بالا استفاده می شود .
همانند محیط VBScript in an Active Server Pages (ASP) و Visual Basic حتی Delphi که محیط توسعه مایکروسافت رقیب برلند .
هم اکنون اجازه داده شده که از ADO برای اتصال به پایگا ههای داده مختلف استفاده کنید .
در چارچوب جدید برنامه نویسی .NET مایکروسافت یک نسخه بروز از ADO رو حاضر کرده که ADO.NETنامیده می شود که ساختار شی آن کاملا با قبلی متفاوت است .

منبع : http://en.wikipedia.org/wiki/ADO

يك امتياز به اونوري ها
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
به نقل از saalek :
night11
ADO (Activex Data Object) یک Component object model هست شی ء برای دسترسی به منابع داده .
ADO یک لایه بین زبان برنامه نویسی و OLE DB که به توسعه دهندگان اجازه می دهد برنامه ای بنویسند که به داده ها دسترسی داشته باشند .بدون اینکه اینکه بدانند پایگاه داده چگونه پیاده سازی شده .
شما فقط برای ارتباط باید از پایگاها داده اطلاع داشته باشید .
برای دسترسی به پایگاه داده وقتی که از ADO استفاده می کنید نیازی به دانستن دستورات SQL ندارید .
هر چند یکبار می توانید ADO را بوسیله ی دستورات SQL اجرا کنید .
اشکال این کار این است که این معرفی کردن وابستگی بر روی پایگاه داده ایجاد می کند .

ADO شامل چندین سطع شی ء هست .

Connrction : نمایش ارتباط با پایگاه داده
Recordsetدسترسی به یک دسته از رکوردهای پایگاه داده :
Command : نمایش یک دستور SQL
Record :نمایش یک دسته از داده ها ، بطور نمونه از یک منبع متفاوت یک پایگاه داده
Stream : نمایش مسیر داده ها از یک فایل متنی یا صفحه وب
Error : ذخیره کردن خطاها
Field : نمایش فیلدهای پایگاه داده
Parameter : نمایش پارامترهای SQL
Property : ذخیره اطلاعات شی ها

ADO برای ارتباط با زبانهای سطح بالا استفاده می شود .
همانند محیط VBScript in an Active Server Pages (ASP) و Visual Basic حتی Delphi که محیط توسعه مایکروسافت رقیب برلند .
هم اکنون اجازه داده شده که از ADO برای اتصال به پایگا ههای داده مختلف استفاده کنید .
در چارچوب جدید برنامه نویسی .NET مایکروسافت یک نسخه بروز از ADO رو حاضر کرده که ADO.NETنامیده می شود که ساختار شی آن کاملا با قبلی متفاوت است .

منبع : http://en.wikipedia.org/wiki/ADO

يك امتياز به اونوري ها
خيلي ممنون!! فقط اگه يه sample هم بزاري خيلي خوبه راحت تر ميشه فهميد!!:rolleyes:
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
سلام عماد جان . ممنون از حمايتت.
.
-----------------------------------------
چيزي كه من از بحثهاي بالا فهميدم اين بود كه ado يك شي هست از نوع com .
حالا com را دقيقا نمي دونم چيه. اگر كسي توانست يك توضيحي بدهد.
ولي اين ado ، انگار به دليل شي بودنش يكسري دستورات داره براي ارتباط با ديتا بيس.
حالا اولين سئوال من اينه كه :
آيا اين دستورات متعلق به اين شي است يا دستورات sql است. يك كم زير ديپلم بگيد تا ما هم ياد بگيريم.
Ole db چيه؟ كلا راجع به ole هم به زبان ساده يك كم توضيح بدهيد. چون مي خواهيم اين تاپيك براي همه قابل استفاده باشه. اگر هم فعلا كسي شرحي آماده نداره، مهم نيست. فعلا شروع مي كنيم به استفاده از دستورات، بعدا تئوري ها را بحث مي كنيم.
((معرفی کردن وابستگی بر روی پایگاه داده ایجاد می کند .))
ايني كه گفتيد يعني چه؟ اين وابستگي چه طوري ايجاد شده و چه مشكلاتي ايجاد مي كند و راه رفعش چيست؟ حداقل يكي از اين 3 سئوال را يك نفر جواب بدهد.

كلا ado چيه؟ آيا جزو ويژوال بيسيك و دات نت هست يا جدا نصب ميشه؟ آيا قابل جدا كردن است از ويژوال بيسيك و asp و دات نت؟

اگر ميشه در ويژوال بيسيك روش استفاده از اين دستورات را بگيد. البته اگر وقت نداريد ، بعدا من خودم پيدا مي كنم از سورسها.
فعلا تا اينجا خيلي خوب بود . دست شما درد نكنه.
.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
night11:

خواهش می کنم !
============================
حالا com را دقيقا نمي دونم چيه. اگر كسي توانست يك توضيحي بدهد.
============================
Component Object Model یک پایگاه برای اجزاء نرم افزارها است و برای فعال کردن ارتباط وپیوند زدن اجرا و ایجاد اشیای پویا در هر زبان برنامه نویسی که از این تکنواوژی پشتیبانی میکند .
Com اغلب در جهان توسعه نرم افزاری بعنوان لفظ حفاظ استفاده می شود که تکنولوژی های OLE, ActiveX, COM+ and DCOM را در احاطه قرار داده است .
COM در سال 1993 بوجود آمد اگر چه مایکروسافت در سال 1997 به آن رسمیت بخشید .
هر چند که COM طی چند دوره تکمیل شده اما اصولا با Microsoft Windows عرضه می شود .

============================
آيا اين دستورات متعل به اين شي است يا دستورات sql است. يك كم زير ديپلم بگيد تا ما هم ياد بگيريم.
============================
گفتم که برای استفاده از ADO نیازی به SQL نیست و و قتی که نیازی نباشه و ما از SQL استفاده کنیم برنامه بانک اطلاعاتی ما از واسط SQL استفاده کرده
در واقع ما بدون استفاده از SQL و فقط با استفاده از ADO هم می توانیم برنامه بانک اطلاعاتی بنویسیم .

============================
Ole db چيه؟ كلا راجع به ole هم به زبان ساده يك كم توضيح بدهيد.
============================
یک API هست که مایکرو سافت برای دسترسی به بانک های اطلاعاتی طراحی کرده است .
 

mostafa_gm

Registered User
تاریخ عضویت
4 آپریل 2005
نوشته‌ها
1,863
لایک‌ها
438
محل سکونت
My House
ببخشید ولی من که از روند این تاپیک چیزی سر در نیاوردم!!
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از mostafa_gm :
ببخشید ولی من که از روند این تاپیک چیزی سر در نیاوردم!!
روندش مهم نيست.
مهم بحث مورد نظر است.
اگه توضيح راجع به روندش مي خواهيد بگم كه من در 2 فروم به طور همزمان بحث را دنبال مي كنم تا زودتر به نتيجه برسيم و از تجربيات افراد بيشتري استفاده بشه. چون در اين بحث زياد رفرنس موجود نيست و كار بيشتر تجربي است و من مي خواهم باعث انتقال تجربيات اهل فن باشم. هم به خود . هم ديگران. در ضمن من مطالب اين تالار را دنبال مي كردم و از اطلاعات و تجربيات شما و بقيه دوستان مطلعم.

و مي خواهم كه به ما كمك كنيد.
.
 

phyma

کاربر تازه وارد
تاریخ عضویت
21 اکتبر 2004
نوشته‌ها
39
لایک‌ها
0
سلام
اين بحث خوبه من خودم 5 سال پيش سروع کردم به يادگيري اون که اون موقه منبع دست درموني نبود ولي الان منبع زياده و با توجه به آمدن .net 2005 ديگه بايد رفت سراغ کار با اون و ارتباطش با اين ويرايش جديد. من خودم تازه س ماه هست شروع کردم اول کارم بيايد بيشتر توي اين زمينه با مطرح کردن يک سورس و بحث در مورد اون پيشرفت کنيم چون فقط توضيح اصلا بدرد نمي خوره
;)
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از phyma :
سلام
اين بحث خوبه من خودم 5 سال پيش سروع کردم به يادگيري اون که اون موقه منبع دست درموني نبود ولي الان منبع زياده و با توجه به آمدن .net 2005 ديگه بايد رفت سراغ کار با اون و ارتباطش با اين ويرايش جديد. من خودم تازه س ماه هست شروع کردم اول کارم بيايد بيشتر توي اين زمينه با مطرح کردن يک سورس و بحث در مورد اون پيشرفت کنيم چون فقط توضيح اصلا بدرد نمي خوره
;)
سلام. من دقيقا دنبال همين كار هستم.
سورسهايي را هم دانلود كرده ام.
راجع به دات نت هم بايد بگم كه اين تاپيك به درخواست كساني ايجاد شده كه هنوز مثل خود من با ويژوال بيسيك كار مي كنند.
پس من سورسها را مي گذارم. دوستان در شرح عمليات كمك كنند.
اگر منبع يا سورسي هم كسي داشت لطف كند.
 

mostafa_gm

Registered User
تاریخ عضویت
4 آپریل 2005
نوشته‌ها
1,863
لایک‌ها
438
محل سکونت
My House
به نقل از saalek :
روندش مهم نيست.
مهم بحث مورد نظر است.
اگه توضيح راجع به روندش مي خواهيد بگم كه من در 2 فروم به طور همزمان بحث را دنبال مي كنم تا زودتر به نتيجه برسيم و از تجربيات افراد بيشتري استفاده بشه. چون در اين بحث زياد رفرنس موجود نيست و كار بيشتر تجربي است و من مي خواهم باعث انتقال تجربيات اهل فن باشم. هم به خود . هم ديگران. در ضمن من مطالب اين تالار را دنبال مي كردم و از اطلاعات و تجربيات شما و بقيه دوستان مطلعم.

و مي خواهم كه به ما كمك كنيد.
.
آها حالا فهمیدم.
خوب پس بهتره که سوالات و جوابهای اونها دقیقا مشخص و دسته بندی بشه تا یکی که میخواد بحث این تاپیک رو مطالعه کنه سردرگم نشه.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
چشم . بيشتر رعايت مي كنم.
تا حالا يك نفر جواب سئوالات من را داد كه با ذكر اسمش نقل كردم. اگر سئوال و جوابي بود عينا منتقل مي كنم.
با تشكر.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
گزارش كار:
روي 10 تا سورس كار كردم. ولي نتونستم چيزي ازشون در بيارم.
قسمت ديتابيس ويژوال بيسيك msdn را خواندم ، ولي خيلي msdn بد گفته و بيشتر گيج شدم
البته به علت مفصل بودنش و ضعيف بودن انگليسي من ، اين حرف را مي زنم
الان در حال دانلود سورس از سايت پلانت هستم
اگر سايتي كه ديتابيس را ساده شرح داده بلديد بگيد
.
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
به نقل از saalek :
گزارش كار:
روي 10 تا سورس كار كردم. ولي نتونستم چيزي ازشون در بيارم.
قسمت ديتابيس ويژوال بيسيك msdn را خواندم ، ولي خيلي msdn بد گفته و بيشتر گيج شدم
البته به علت مفصل بودنش و ضعيف بودن انگليسي من ، اين حرف را مي زنم
الان در حال دانلود سورس از سايت پلانت هستم
اگر سايتي كه ديتابيس را ساده شرح داده بلديد بگيد
.
موافقم, msdn خيلي كم توضيح داده!! من خودم هم ازش هيچي سر در نميارم!!
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
سلام به برو بچ صفر کیلومتر:D
خوشحالم که افرادی مثل خودم رو پیدا کردم. :) :rolleyes:
خب ببینید از این دستور چیزی میفهمید. طریقه استفاده از دستورات sql در ado هست. راحته :p
"Adodc1.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\DATABASE NAME.mdb
" Adodc1.RecordSource = "select FIELD1,FIELD2,FIELD X...... from DATABASE NAME where SHART
Adodc1.Refresh
خب سطر اول کار معرفی نوع دیتا بیس رو انجام میده
در سطر دوم جستجو انجام میشه . نکته اینه که دستورات SQL در داخل جفت " " قرار میگیرند.
سطر سوم هم درصورتی که یک جدول یا DATAGRID به کنترل ADO متصل شده باشه جدول را REFRESH میکنه.
:wacko: :wacko: :wacko: ;) ;)
نمیدونم به دردتون میخوره یانه.
فعلا بای
خوش باشید
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از zapata-es24 :
فعلا بای
خوش باشید
آقا خيلي خوب بود.
و چسبيد ولي كم بود.
يكسري هم سئوال برام پيش اومد:
اول اينكه آيا بايد شي adodc را بر روي فرم اضافه كنيم.
دوم آيا اينها دستورات sql است يا دستورات متعلق به شي adodc است؟
سوم چطور از اين دستورات براي نمايش جدول ديتابيس لود شده (مثلا در datagird ) استفاده بشه.
چهارم : بيشتر توضيح بده. اگه ميشه جوري بنويس كه بشه اجرا كرد. من خطا دريافت كردم. و با توضيحات كم شما نمي دونم چطور برنامه را تكميل كنم.
پنجم : كلا بيشتر رو كن.
ششم : لطف كردي.
راجع به اين كه فرموديد دستورات اس كيو ال داخل كوتيشن قرار مي گيره هم راهنمايي خوبي بود.
.
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
بازم سلام
اولا باید یک کنترل ADO ویک کنترل DATAGRID روی فرم بزارید.
دوما : راست کلیک روی ADO و رفتن روی تب GENERAL بعدش کلیک روی USE CONNECTION STRING
بعدش کلیک روی دکمه BUILD
در تب PROVIDER انتخاب گزینه MICROSOFT JET 4.0 OLE DB PROVIDER
بعد در تب CONNECTION انتخاب فایل اطلاعاتی خودتون
بعد هم OK
در تب RECORDSOURCE قسمت COMMAND TYPE گزینه ADCMDUNKNON رو انتخاب کرده بعدشم در قسمت COMMAND TEXT یک دستور SQL بنویس مثلا بنویس SELECT * FROM TABEL NAME
بعدش OK کن
خب حالا فقط باید DATAGRID خودت رو به ADO متصل کنی . FVHD HDK;HV روی DATAGRID کلیک میکنی و از پنجره PROPERTIES قسمت DATASOURCE گزینه ADODC1 رو انتخاب کن
بعدشم برنامه خودت رو اجرا کن . حالا دیگه باید لیست همه اطلاعات جدولت توی DATAGRID اومده باشه.

:wacko: :wacko: :wacko: :wacko: کف کردم به خدا.
مشکلی بود بازم بپرس سعی میکنم اگه سوادشو داشتم جواب بدم.:D
خوش باشی جوون.:happy:
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
بازم سلام
اولا باید یک کنترل ADO ویک کنترل DATAGRID روی فرم بزارید.
دوما : راست کلیک روی ADO و رفتن روی تب GENERAL بعدش کلیک روی USE CONNECTION STRING
بعدش کلیک روی دکمه BUILD
در تب PROVIDER انتخاب گزینه MICROSOFT JET 4.0 OLE DB PROVIDER
بعد در تب CONNECTION انتخاب فایل اطلاعاتی خودتون
بعد هم OK
در تب RECORDSOURCE قسمت COMMAND TYPE گزینه ADCMDUNKNON رو انتخاب کرده بعدشم در قسمت COMMAND TEXT یک دستور SQL بنویس مثلا بنویس SELECT * FROM TABEL NAME
بعدش OK کن
خب حالا فقط باید DATAGRID خودت رو به ADO متصل کنی . برای اینکار روی DATAGRID کلیک میکنی و از پنجره PROPERTIES قسمت DATASOURCE گزینه ADODC1 رو انتخاب کن
بعدشم برنامه خودت رو اجرا کن . حالا دیگه باید لیست همه اطلاعات جدولت توی DATAGRID اومده باشه.

:wacko: :wacko: :wacko: :wacko: کف کردم به خدا.
مشکلی بود بازم بپرس سعی میکنم اگه سوادشو داشتم جواب بدم.:D
خوش باشی جوون.:happy:
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از zapata-es24 :
ابتدا از منوي پروجكت ، زير منوي كامپوننت ، دو شي microsoft ado data control 6.0(oledb) و microsoft datagrid control 6.0(oledb) را به جعبه ابزار ( toolbox ) افزودم.

بعد هر دو را روي فرم قرار دادم.

بعد راست كليك كردم روي كنترل ado و پراپرتي را انتخاب كردم. يك پنجره باز شد. Tab اول general بود. در اين تب ، 3 آپشن باتن موجود بود ، سومي use connection string بود.
با زدن دكمه build يك پنجره ديگر باز شد به نام data link property ، در تب اول كه تب provider بود ، من انتخاب microsoft jet 4.0 ole db provider را برگزيدم. در تب دوم كه تب connection بود ، محلي براي browse داشت. كه فايلي كه با اكسس ساخته بودم را برگزيدم.
بعد ok كردم. تا به پنجره باز قبلي برگرديم. در اين پنجره به تب recordsource رفتم و در آنجا در كومبو باكس command type ، گزينه 8-adCmdUnknown را انتخاب كردم. و در همين تب ، كمي پايين تر ، در قسمت command text(sql) اين دستور را نوشتم:

select * from table1​

چون اسم جدول داخل ديتابيس من
table1
بوده.

بعدش هم ok كردم.

حالا مي خواهم datagrid خود را به ado متصل كنم.
پس روي datagrid كليك مي كنم تا بروم به پنجره پراپرتي و بعد صفت datasource را adodc1 قرار دادم.

بعد برنامه را اجرا كردم. درسته جدول در datagird نمايان است. دست شما درد نكنه. خسته هم نباشيد. عكسشم اينه:

javaan22.gif

.
البته درست نيست سئوال الان بپرسم چون خسته شديد ، ولي آن كدهايي كه قبلا ذكر كرديد اينجا استفاده نشد. فكر كنم ميشه استفاده كرد. اگر ميشه چند دستور sql و روش استفاده اش را بگيد و بگيد كه دستورات sql آيا همه جا مجازند استفاده بشوند در ويژوال بيسيك يا شرايطي داره.
 
بالا