امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
ارتباط با دیتا بیس با ADO
نویسنده پیام
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #1
ارتباط با دیتا بیس با ADO
یک مقاله در مورد روشهای ارتباط با دیتا بیس
ADODB
ADODC

http://basic.persiangig.com/Archive/ADO.zip

[attachment=159]

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
(آخرین ویرایش در این ارسال: ۲۹-شهریور-۱۳۸۷, ۱۴:۱۴:۲۱، توسط hamed_Arfaee.)
۰۲-تير-۱۳۸۵, ۲۲:۲۳:۵۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : makintach, mahdi20
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #2
RE: ارتباط با دیتا بیس با ADO
با سلام
يكمم خودم مي نويسم :
براي ارتباط با ديتابيسهايي كه با اكسس 2000 به بالا ساخته شده اند

براي اين كار ميتوان از دو روش استفاده كرد :
اولين :
با استفاده از adodc
با استفاده از كليدهاي ctrl + t به صفحه ي كامپوننت ها رفته و گزينه Microsoft ADO data control 6.0 رو به پروژه اضافه كنيد
بعد اونو به رويه فرم اضافه كنيد و مانند ديتا كنترل ذاتي كه مربوط به نسخه jet 2.0 هست با اين كنترل رفتار مي كنيم
در مرحله بعد از خصوصيات كنترل adodc گزينه custom را انتخاب كرده و با استفاده از دكمه Build صفحه انتخاب ديتابيس مي رويم و از صفحه باز شده گزينه : Microsoft Jet 4.0 OLE DB Provider رو انتخاب كرده و با دكمه Next به مرحله انتخاب ديتابيس مي رويم و بعد از انتخاب ديتابيس براي مطمئن شدن از درستي ارتباط دكمه Test Connection رو كليك مي كنيم و بعد از دريافت پيام موفقيت در ارتباط با استفاده از دكمه ok پنجره رو مي بنديم
و با برگشت به پنجره Property برگه RecordSource رو انتخاب كرده و از ليست Command Type گزينه adCmdTable رو انتخاب مي كنيم (براي انتخاب كل جدول ) و يا با انتخاب adCmdText در كادر SQL مي توانييم دستورات sql رو بنويسيم و يا با انتخاب گزينه adcmdStoredProc مي توانييم از كوئري هاي نوشته شده در بانك اكسس استفاده كنيم
(( توجه در صورت انتخاب adCmdTable يا adcmdStore... بايد از ليست Table or stored Procedure name نام جدول و يا كوئري مورد نظر رو انتخاب كنيم
بعد همانند كنترل ديتاي jet 2.0 كه جزو كنترلهاي ذاتي است با آن ديتابيس رفتار مي كنيم
و براي فهميدن دستورات فرمان اين كنترل مي تونيين از اون پي دي اف كه تو پست بالا گذاشتم استفاده كنيد
روش دوم هم كه توسط كد نويسي هست بعدا مي گم :

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
۰۹-مرداد-۱۳۸۶, ۲۳:۱۸:۵۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : makintach
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #3
RE: ارتباط با دیتا بیس با ADO
قسمت دوم (با تاخير)
قسمت دوم خودمون با استفاده از كد نويسي به ديتابيس متصل مي شيم و داده رو از اون مي گيريم
در اين حالت ابتدا بايد كتابخانه ADO رو به پروژمون اضافه كنيم بطريق زير :
Project >> Refrences...
و از پنجره باز شده گزينه Microsoft ActiveX Data Objects 2.7 Library رو انتخاب مي كنيم و به پروژمون اضافه مي كنيم
حالا شروع به ساخت اتصالات مي كنيم :
ابتدا در قسمت جنرال ( محل كد نويسي فرم اصلي) يك شي براي اتصال به ديتا بيس مي سازيم و يك شي براي اتصال به جدول(و يا انتخاب بخشي از جدول(جداول))
کد:
Dim cnn As New ADODB.Connection
Dim rec As New ADODB.Recordset
حالا بايد اين اشيا شروع بكار كنند
براي متصل شدن به ديتابيس از اشيا تعريف شده بشرح زير استفاده مي كنيم :
کد:
Private Sub Form_Load()
Dim strSql As String
cnn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" & App.Path & "\db1.Mdb;" & ";Jet OLEDB:Database Password=Pass"
cnn.CursorLocation = adUseClient
cnn.Open
strSql = "Select * from table1;"
rec.Open strSql, cnn, adOpenDynamic, adLockOptimistic
End Sub
خوب حالا ما با فرض اينكه نام ديتا بيس ما db1.mdb است و داراي پسورد Pass مي باشد به آن متصل مي شويم
و از جدولي كه در آن ديتابيس با نام table1 است تمام اطلاعاتش را انتخاب ميكنيم
يعني اين ركوردست كه rec نام دارد به تمامي اطلاعات جدول table1 دسترسي دارد
براي مثال به كد رويداد كليك كه براي يك شي دكمه كه روي همين فرم قرار دارد توجه كنيد :
کد:
msgbox "All records count  :" & rec.recordcount
با دستور فوق روي فرم تعداد سطرها(ركوردها)ي جدول نمايش داده مي شود
همين
براي استفاده از امكانات ado هم همون كتابي رو مطالعه كنيد كه در پست اول معرفي كردم
براي استفاده از دستورات اس كيو ال و ارتباط با جداول و انتخاب بازجستها در پست بعدي توضيح مي زنم

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
۲۷-مرداد-۱۳۸۶, ۰۳:۴۶:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : makintach
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #4
RE: ارتباط با دیتا بیس با ADO
انتخاب قسمتي از جدول موجود در ديتابيس (بانك اطلاعات خودمون )
با استفاده از دستورات اس كيو ال مي توانييم بازجستهايي (Query) ايجاد كنيم و ركوردها و حتي ستونهايه خاصي رو استخراج كنيم
اولين دستور ساده :
کد:
Select * From Table1;
Select Col1,Col2,Col3 from Table1;
با استفاده از دستور فوق ما تمام ركوردهاي موجود در جدول table1 رو استخراج مي كنيم
با استفاده از * مشخص مي كنيم كه تمام ستونها رو انتخاب كن (تمام ستونهاي موجود در جدول)
و يا با نوشتن نام هر يك از ستونها ميتونييم اونا رو انتخاب كنيم مثلا من در جدول خود 4 ستون دارم ولي مي خواهم براي نمايش داده ها
فقط از 3 ستون آن استفاده كنم پس با نوشتن نام آن 3 ستون در انتخاب خود محدوديت قائل مي شويم

کد:
Select * From Table1 Where (col1='a');
با استفاده از كلمه where در جستجوي خود محدوديتي اعمال مي كنيم بطوريكه : ركوردهايي (سطرهايي) از جدول table1 انتخاب مي شوند
كه مقدار ستون اول برار a باشد
يعني تمام ستونها انتخاب شوند و از سطرها انهايي اتخاب شوند كه فيلد اول آنها مقدار a را دارد

مي توان در اين شرط چند گزينه ديگر را هم افزود (به مثالهاي زير توجه كنيد :)
کد:
Select * from table1 where(col1='d' and col2=3 and col3<#2007/08/18#);
در مثال بالا انتخاب بشرطي صحيح است كه در جدول table1 ما
ستوني با نام col1 و از نوع رشته ايي
ستوني بانام col2 و از نوع عددي
ستوني با نام col3 و از نوع date/time (تاريخ و زمان)
وجود داشته باشد .پس ما در مثال بالا سطرهايي را انتخاب مي كنييم كه ستون اول برابر d و ستون دوم برابر 3 و ستون سوم كه از نوع تاريخ است
از تاريخ امروز يعني 2007/08/18 كوچكتر باشد.
مي توان نتيجه گرفت كه د رمقايسه رشته و كاراكتر در اس كيو ال از علامت ' (تك كوتيشن)
براي مقايسه عدد (فيلد عددي با يك عدد) از هيچ علامتي
و براي مقايسه تاريخ و زمان # (شارپ) استفاده مي كنيم

کد:
Select * from Table1 where(col1 like 'h%');
در مثال بالا از جدول مذكور تمام سطرهايي انتخاب مي شوند كه مقدار موجود در ستون اول با حرف h شروع شده باشد (ادامه كلمه مهم نيست)


کد:
select Top 10 *from table1;
در مثال بالا ما در انتخاب خود محدوديت تعداد انتخاب را اعمال كرده ايم يعني از جدول table1 فقط 10 سطر اول انتخاب شوند
کد:
select Distinct col1 from table1;
در مثال بالا ما فقط ستون اول را نمايش مي دهيم ولي با استفاده از دستور distinct تمام موارد تكراري را در ان ستون حذف مي كنيم
بعنوان مثال اگر 5 سطر داده داشته باشيم بصورت : a1,a1,a2,a3,a1
و با دستور بالا از اين داده ها انتخاب كنيم خروجي ما شامل : a1,a2,a3 خواهد بود

مي توانييم انتخابهاي محاسباتي هم داشته باشيم مثلا تعداد ركوردهاي مطابق با شرط يا (بزرگترين/كوچكترين) داده موجود در بين ركوردها
و يا معدل داده ها و جند مورد ديگر
کد:
Select max(col1),min(col2),count(col3) from table1;
با دستور فوق بزرگترين مقدار در فيلد اول و كوچكترين مقدار در فيلد دوم و تعداد ركوردهاي فيلد سوم را به ما خواهد داد

نكته : مي توانييم به هر يك از اين ستون ها يك نمام هم اختصاص دهيم تا هنگام استفاده راحتتر عمل كنيم بصورت زير:
کد:
Select max(col1)as MxC1,min(col2)as MnC2,count(col3)as CnC3 from table1;

براي داشتن نتيجه مرتب م يتوانييم آنها را با دستورorder by مرتب كرد بصورت زير :
کد:
select * from tabl1 order by col1;
با اين دستور يافته ها بر اساس ستون اول مرتب خواهند شد
نكته : پيش فرض مرتب سازي بصورت صعودي مي باشد و اگر بخواهييم اين حالت را عوض كنيم مي توانييم بعد از كلمه order by نوع مرتب سازي را نيز
مشخص كنيم مثلا براي صعودي Asc و براي نزولي از كلمه Desc استفاده مي كنيم

در استفاده از دستورات sql مي توانييم 255 select تو در تو را بنويسيم و استفاده كنيم:

کد:
select col1,col2 from(select * from table1 where col2='s') where (col3 like '?f'));
در مثال بالا ابتدا ركوردهايي كه ستون دوم آنها برابر حرف s است انتخاب مي شوند سپس از ميان انها ستونهاي اول و دوم بطوري انتخاب مي شوند
كه مقدار ستون سومشان به f ختم مي شوند (حالا اينو به 10 انتخاب تودرتو ديگه تعميم بدين )
-------------------------------------
نكته : الان ساعت 5 صبح هست مثالا رو هم از خودم درآوردم و همينجا تايپ كردم پس ممكنه
توشون اشتباه تايپي يا گرامري وجود داشته باشه (اگه بود بگين درست كنم )
-------------------------------------
تا همينجا بسه خسته شدم
ادامشو هم بعدا ميگم

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
۲۷-مرداد-۱۳۸۶, ۰۶:۲۳:۳۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : makintach
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #5
RE: ارتباط با دیتا بیس با ADO
ممنون حامد خان خیلی مفید بود خسته نباشیClap
Atحالا یه سوال هم داشتم اگه بخواییم سطرهایی رو انتخاب کنیم

بزارید اینجوری بگم میخوام مثل تابع Instr در ویژوال بیسیک در اینجا همون کار رو بکنم یعنی در یک سطری من میخوام اگه مقدار COOL رو پیدا کرد اونو انتخاب کنه حالا اون مقدار ممکنه که اول یا آخر نباشه ممکنه وسط قرار گرفته باشه

_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

۲۷-مرداد-۱۳۸۶, ۱۴:۳۱:۴۴
ارسال‌ها
پاسخ
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #6
RE: ارتباط با دیتا بیس با ADO
جواب :
کد:
Select * from table1 where( col1 like '%cool%');
البته براي اطمينان از نتيجه مي توان اين دستورو كاملترش هم كرد :
کد:
select * From Table1 Where(ucase(Col1) like '%COOL%');
و چون قراره كه كلمه cool از خود وي بي ارسال بشه پس مي تونييم همونو هم بزرگش كنيم بفرستيم
كد زير را با فرض اينكه اين دستور تو اديتور بيسيك هست مي نويسم :
کد:
strSql="Select * from table1 where(Ucase(col1) Like '%" & Ucase(text1.text) & "%');"

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
(آخرین ویرایش در این ارسال: ۲۸-مرداد-۱۳۸۶, ۱۸:۱۵:۱۵، توسط hamed_Arfaee.)
۲۷-مرداد-۱۳۸۶, ۲۲:۴۳:۵۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : evilbaby, makintach
Pedram_HookEx آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 459
موضوع‌ها: 23
تاریخ عضویت: خرداد ۱۳۸۴

تشکرها : 1
( 109 تشکر در 65 ارسال )
ارسال: #7
RE: ارتباط با دیتا بیس با ADO
ممنون حامد خان همینو میخواستم بازم دستت درد نکنه

_______________________________________________________________________________
  • کشف الکتریسیته توسط پارتها برای اولین بار کلیک کنید
  • 135 نکته و آموزش از سطح پایین تا پیشرفته در غالب مثال های کوچک و قابل فهم (حجم 97KB)لینک دانلود
  • 101 آموزش پیشرفته ویژوال بیسیک. حتما دانلود کنید(حجم 314KB)لینک دانلود
  • اینم یه کتابچه ویژوال بیسیک برا اونایی که میخوان برنامه نویسی رو شروع کنن(حجم 916KB)لینک دانلود
  • تمام نکات و ترفند های مهم در ویندوز XP حتما دانلود کنید(حجم 86KB)لینک دانلود[تصویر:  new4.gif]
  • بروزرسانی ویژوال بیسک 6 به آخرین نسخه یعنی سرویس پک 6 (حجم 61MB)لینک دانلود[تصویر:  new4.gif]

۲۸-مرداد-۱۳۸۶, ۲۲:۵۸:۱۵
ارسال‌ها
پاسخ
meyysam1360 آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: مهر ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #8
RE: ارتباط با دیتا بیس با ADO
man mikham yak bank ba password ro baz konam password ro ham midonam vali khata azam migireh va ta password ro bar nadaram kar nemikoneh vali bana be dalaeli nimitonam password to access ro bardaram ba tashakorWhistle
۰۲-مهر-۱۳۸۶, ۱۴:۳۲:۱۸
ارسال‌ها
پاسخ
ghoool آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 1
تاریخ عضویت: مهر ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #9
RE: ارتباط با دیتا بیس با ADO
ممنون از شما دوست گرامی و تشکر فراوان از پاسخ شما آقای حامد عزیز
امیدوارم همواره در کار و زندگیتان موفق باشید
۱۵-مهر-۱۳۸۶, ۲۳:۳۷:۳۰
ارسال‌ها
پاسخ
Vig آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 22
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 15
( 0 تشکر در 0 ارسال )
ارسال: #10
RE: ارتباط با دیتا بیس با ADO
ممنون از شما دوست گرامی
۲۷-آبان-۱۳۸۶, ۲۲:۵۲:۰۶
ارسال‌ها
پاسخ
makintach آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: بهمن ۱۳۸۸

تشکرها : 5
( 0 تشکر در 0 ارسال )
ارسال: #11
RE: ارتباط با دیتا بیس با ADO
سلام
ممنونم بابت آموزش مفیدتون
یه سوالی دارم در مورد آپدیت دیتا بیس
ببینید من دو تا جدول توی یه دیتا بیس دارم که می خوام دومی رو توسط اولی آپدیت کنم
هر دو تاشون دو تا فیلد دارن :اسم و قیمت
توی اولی اینطوریه:
p5kpl 50000
p5kpl-am 52000
p5kpl-am-ae 540000
توی دومی :
58000 مادربرد p5kpl
59000 مادربرد p5kpl-am
100000 مادربرد p5kpl-am-ae
حالا می خوام از اولی بخونه p5kpl ، بیاد توی جدول دومی تشخیص بده که کدومه (مادربرد p5kpl ) و قیمتش رو به قیمت اولی تغییر بده
۱۰-بهمن-۱۳۸۸, ۱۷:۰۵:۱۹
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ارتباط با پورت پارالل در دلفی lord_viper 6 8,060 ۲۷-اردیبهشت-۱۳۸۹, ۱۱:۰۳:۵۳
آخرین ارسال: joker
Exclamation طریقه ارتباط MySQL وVisual basic 6 CRazYFULL 0 2,383 ۱۳-آذر-۱۳۸۷, ۱۶:۰۹:۴۶
آخرین ارسال: CRazYFULL

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS