• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

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

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
به نقل از zapata-es24 :
خوب دلم نیومد منتظرتون بزارم.
اول رکورد یا رکورد های مورد نظر خودتون رو بدست میارید با روشهای قبلی بعدشم مینویسید
Adodc1.Recordset.Delete:happy:
مفهوم بید؟؟؟
قربونت. كار مي كنم.
برنامه استاد گرامي بلا بلا را هم كار كردم امروز. ديگه آنجاپست نزدم تا تاپيك خراب نشه.
.
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
ويژوال بيسيك مي تواند خودش ديتابيس بسازد. براي اينكار به منوي add-ins برويد و visual data manager را كليك كنيد. يك پنجره باز مي شود.


e1.gif


بعد از منوي فايل در اين پنجره ، new را انتخاب مي كنيم و بعد microsoft accese و بعد version 7.0 mdb ، در اينجا مي خواهد ديتابيس خود را با نامي در هارد save كنيد. بعد اين كار نماي زير را خواهيم داشت.:


e2.gif


در شكل بالا جايي كه ماوس نشان مي دهد ، يك بعلاوه است . اگر روي آن كليك كنيم ، يكسري پراپرتي نمايان مي شود. ولي نيازي به نگراني نيست . فقط روي كلمه property كليك راست كنيد و new را برگزينيد. پنجره اي باز مي شود به نام table structure ......


e3.gif


در اين پنجره نامي به table خود بدهيد. بعد دكمه add field را بزنيد تا فيلدهاي خود را تعيين كنيد . بعد تعيين فيلدها دكمه بيلد را بزنيد.

Copyright: 2002
By: Jason Hensley
Email: [email protected]
Website: http://www.vbcodesource.com
.
 

zapata-es24

Guest
تاریخ عضویت
24 نوامبر 2005
نوشته‌ها
35
لایک‌ها
0
اطلاعات بیشتر برای کار با visdata: کتاب آموزش برنامه نویسی بانک اطلاعاتی با vb صفحه 149
من که باهاش حال نمیکنم.:blink:
 

saalek

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

saalek

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

mostafa_gm

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

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
من نوشتم
form1.adodc1
در ديتاسورس شي ام(تكست باكس)
و در فرم 1 من يك
adodc1
داشتم. ولي در فرم 2 تكست باكسم به فرم يك وصل نشد.
.
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
به نقل از saalek :
من نوشتم
form1.adodc1
در ديتاسورس شي ام(تكست باكس)
و در فرم 1 من يك
adodc1
داشتم. ولي در فرم 2 تكست باكسم به فرم يك وصل نشد.
.
به نظرم من برای استفاده در دوتا فرم بهتره از دیتا اینوارمنت یا یه ماژول گلوبال استفاده کنی:happy:
 

mostafa_gm

Registered User
تاریخ عضویت
4 آپریل 2005
نوشته‌ها
1,863
لایک‌ها
438
محل سکونت
My House
به نقل از saalek :
من نوشتم
form1.adodc1
در ديتاسورس شي ام(تكست باكس)
و در فرم 1 من يك
adodc1
داشتم. ولي در فرم 2 تكست باكسم به فرم يك وصل نشد.
.
آها شما ميخواي يه textbox رو bind كني به يه كنترل تو يه فرم ديگه.
ببخشيد من چون تا حالا اين كارو نكردم اصلا به فكرم نرسيد، فكر كردم ميخواي با كد كار كني. ولي توصيه ميكنم كه از روش binding استفاده نكني، همونطوري كه اين دوستمون بالا گفت ميشه از يه module جدا و Adodb به جاي Aoddc استفاده كرد. كارش هم راحت تره.
 

saalek

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

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
38
محل سکونت
Mashhad, Iran
من به يه نكته جالب رسيدم كه خيلي ازش استفاده كردم!! گفتم شايد به درد بخوره
براي گرفتن مقدار يه فيلد در يك table از اين روش ميشه استفاده كرد:
کد:
MyFieldData = Adodc1.Recordset!MyField
البته مقدار فيلدي داده ميشه كه در حال حاضر روي اون هستين!!
و ميتونين با همون MoveNext و... بقيه فيلد ها رو هم به دست بيارين!!

من واقعا تا حالا نديده بودم كه از علامت تعجب در برنامه استفاده بشه!! ولي براي اولين بار در اينجا ديدم!!
 

Mehdi

مدیر بازنشسته
تاریخ عضویت
1 آگوست 2004
نوشته‌ها
5,601
لایک‌ها
49
محل سکونت
Anywhere
مجبور نيستي ديتاسورس تعيين كني
ميتوني اينطوري هم عمل كني
Text1.Text = Form1.Data1.Recordset.Fields("name")
---
در جواب عماد خان
حتي تو ديتا اينوايرنمنت هم از اين استفاده ميكنن
نگاه
With DE.rstbl1
If .State = 1 Then .Close
.Open
.MoveFirst
Do Until .EOF
If Text1.Text = !id1 Then
Text2.Text = !firstname
Text3.Text = !lastname
.Close
Exit Do
End If

.MoveNext
Loop
End With
اينو اگه بزاري تو تكست چنج يك تكست باكس هروقت تو تكست باكست اي دي شماره ايدي هركي رو بنويسي همونجا اطلاعات رو لود ميكنه :D
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
38
محل سکونت
Mashhad, Iran
به نقل از mehdvirus :
مجبور نيستي ديتاسورس تعيين كني
ميتوني اينطوري هم عمل كني

---
در جواب عماد خان
حتي تو ديتا اينوايرنمنت هم از اين استفاده ميكنن
نگاه

اينو اگه بزاري تو تكست چنج يك تكست باكس هروقت تو تكست باكست اي دي شماره ايدي هركي رو بنويسي همونجا اطلاعات رو لود ميكنه :D
ممنون!! خيلي جالبه!!:)
من تا قبل اين ماجرا ها فقط تو php استفاده از ! رو ديده بودم ولي مثل اينكه كاربرد زياد داره!!:)
 

Tehranshahr

کاربر قدیمی پرشین تولز
تاریخ عضویت
15 اکتبر 2004
نوشته‌ها
3,679
لایک‌ها
384
محل سکونت
تهران
دوستان کسی بلده جچوری با ADO میشه به MySQL وصل شد؟ (بدون استفاده از ODBC)
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
میخواستم ببینم میشه vb رو به mysql وصل کرد و اگر میشه چطوری؟


آموزشهای زیادی هست در سایتها. سرچ کنید.

ابزار مورد نیاز:

ایزی php
http://jaist.dl.sourceforge.net/sourceforge/quickeasyphp/easyphp1-8_setup.exe
هفت مگا.

mysql-connector-odbc
http://dev.mysql.com/get/Downloads/MyODBC3/mysql-connector-odbc-3.51.16-win32.msi/from/pick
دو و نیم مگا.

یک پروژه وی بی ساده
http://saalek110.250free.com/projects/vb6mysql.zip


بعد دانلود سورس این خط را جایگزین خط فعلی آن کنید تا با mysql جور دربیاید.

کد:
cnMySql.Connect = "uid=root;pwd=;server=localhost;" & _
    "driver={MySQL ODBC 3.51 Driver};database=mysql;dsn='';"


البته برای روشن شدن آپاچی که سرور درون ایزی php است باید IIS (در ویندوز ایکس پی ) را از مسیر کنترل پنل - Administrative Tools و IIS خاموش کنید.
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
مطلب زیر را Parthia گفته که بدون کم و زیاد کردن مطلب و تست آن نقلش می کنم:
---------------------------------------------------------------------------------------
ببخشیدا وقت نکردم حرف بقیه بچه ها رو بخونم و من اینجا فقط کاری رو که بیشتر خودم توی برنامه هام انجام میدم مینویسم
با استفاده از کدهای زیر میتونید اطلاعات موجود در یک خانه فیلد Name در جدول Datas موجود در دیتا بیسی واقع در C:\TestDB.mdb دارای پاسورد parthia رو در بیارید و طبق یک روال Main در برنامه تان آن را در Field به نام myField ذخیره کنید :
(چقدر با حال گفتما :-?)
اول از همه وارد VB که شدید روی منوی Project کلیک کنید و به قولی Microsoft DAO 3.51 Object Library را به قسمت References برنامه تان اضافه کنید سپس در روال Main میتوانید کدهایی به صورت کدهای زیر بنویسید تا کار بالا را برایتان انجام دهد
کد:
Sub Main()
Dim DB As Database
Dim RS As Recordset
Dim myField As Field
Set DB = OpenDatabase("C:\TestDB.mdb", False, False, ";pwd=parthia")
Set RS = DB.OpenRecordset("SELECT * FROM Datas")
Set myField = RS.Fields("Name")
End Sub
بعدش هم که میتونید این myField رو به هر جایی بخواید پیوند بدید مثلا اینطوری :
کد:
MsgBox myField
lblTest.Caption = myField
امیدوارم بدرد خورده باشه !!!
 

avisa

کاربر تازه وارد
تاریخ عضویت
15 جولای 2007
نوشته‌ها
5
لایک‌ها
0
سلام
خیلی ممنون از این بحثی که ایجاد کردید
خیلی استفاده کردم و به کمک و راهنماییتون خیلی احتیاج دارم به این دلیل که پروژه پایانی من در مورد همین بحث است (طراحی بانک اطلاعاتی با vb و sql server 2000 ) و الان به مرحله ای رسیدم که باید از طریق شی ado ،فرم های vb را به بانک اطلاعاتی وصل کنم
من امروز این بحث را دیدم و تا آخر خوندم
امید وارم بتونم تا اونجایی که اطلاعات دارم کمکی بتونم بکنم و از شما دوستان کمک بگیرم که خیلی ممنون میشم
موفق باشید
 

avisa

کاربر تازه وارد
تاریخ عضویت
15 جولای 2007
نوشته‌ها
5
لایک‌ها
0
سلام
من این مراحلی که شما گفتید را انجام دادم منتها برای اتصال به sql server 2000
بعد از قرار دادن شی ado روی فرم و مراحل زیر را رفتم
در تب PROVIDER گزینه MICROSOFT OLE DB Provider for SQL Server را انتخاب کردم .
بعد در تب CONNECTION در انتخاب مسیر ،مسیر فایل پایگاه داده بر روی هارد را رفتم و فایل با پسوند MDFرا انتخاب کردم
( نمی دونم درسته یا نه؟)بعد هم OK

در تب RECORDSOURCE قسمت Command Type گزینه AdCmdUnKnown رو انتخاب کرده بعدشم در قسمت COMMAND TEXT دستور SQL select from *TblWholesale را نوشتم
موقعی که شی data graid را روی فرم آوردم و در قسمت data source ، Adodc1 را انتخاب می کنم موقع اجرا پیغام خطای زیر را میده (Invalid authorization specification )

ممنون میشم اگه راهنماییم کنید
و اگه میشه لطف کنید در مورد گزینه های Command Type یه توضیح مختصر بدید .
 
بالا