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

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

avisa

کاربر تازه وارد
تاریخ عضویت
15 جولای 2007
نوشته‌ها
5
لایک‌ها
0
سلام
ممنون می شم اگه هر چه زودتر راهنمایی بکنید
اگه سایتی را می شناسید که توضیح داده باشه ممنون میشم نام ببرید
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
با سلام.
عکسهای پستهای اول این تاپیک از بین رفته که در این پست قرار می دهم.


پست 20
:

ابتدا از منوي پروجكت ، زير منوي كامپوننت ، دو شي 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 نمايان است. دست شما درد نكنه. خسته هم نباشيد. عكسشم اينه:

a5.gif

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


پست 42
:

به نقل از saalek :
ويژوال بيسيك مي تواند خودش ديتابيس بسازد. براي اينكار به منوي add-ins برويد و visual data manager را كليك كنيد. يك پنجره باز مي شود.


a2.gif


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


a3.gif


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


a4.gif


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

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

یک پست دیگر:

به نقل از saalek :

a6.gif


من روي هر فرم يك ADO قرار دادم و به يك ديتابيس اكسس وصل شدم.
اجزاي هر فرم به ADO فرم مربوطه وصل مي شوند.
من ADO را پلي براي اتصال فرض مي كنم. و فرض مي كنم اين پلها ديگر شي هاي فرم را به ديتابيس وصل مي كنند. اگر درست كار كنه يعني اين فرض من درسته.
ببينيد درست كار مي كنه.
.
=====================
ضمنا نتوانستم تكست باكس اين فرم را به adoآن فرم وصل كنم. شايد بشه ولي من بلد نيستم. براي همين اگر من بخواهم در روي دو فرم اشيا را به يك ديتابيس وصل كنم ، فعلا روي هر فرم يك ado مي گذارم.
.
فكر كنم بايد از دستور refresh هم استفاده كني تا وقتي در يك فرم تغيير مي دهي در فرم ديگر تغيير رفرش بشه. البته كار نكردم و اصلا نمي دانم متدش هست يا نه ولي احتمال زياد هست.
.
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
اصلاح پست 35 :

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

کد:
Private Sub Command1_Click()
    ' add a new entry to our table.
    With Adodc1.Recordset
        .AddNew
        !ID = Text1.Text
        !Field1 = Text2.Text
        !Field2 = Text3.Text
        !Field3 = Text4.Text
        .Update
        .Requery
    End With
    
    Adodc1.Refresh

End Sub

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

a7.gif
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
سلام
من این مراحلی که شما گفتید را انجام دادم منتها برای اتصال به 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 یه توضیح مختصر بدید .

اینجا را ببین:
تمرین با ویژوال بیسیک 6 و دیتابیس
 

saalek110

Registered User
تاریخ عضویت
10 آپریل 2007
نوشته‌ها
212
لایک‌ها
1
چرا نميشه؟
كنترل Adodc دقيقا مثل كنترل هاي ديگه هست و براي دسترسي به متد ها يا خواصش تو يه فرم ديگه ميشه به راحتي از form.adodc دقيقا مثل كنترل هاي ديگه استفاده كرد.

یک پروژه بسازید و ابتدا از منوی پروجکت و زیر منوی کامپوننت ابزارهای میکروسافت ادو و میکروسافت دیتاگرد را روی جعبه ابزار اضافه کنید.
بعد روی فرم یک هر دو را بیافزایید.
یک فرم 2 هم به پروژه بیافزایید. و یک دیتاگرد هم به آن بیافزایید.

کد زیر را به فرم یک بیافزایید:

کد:
Private Sub Form_Load()

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
            App.Path & "\db1.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from Table1"
Set DataGrid1.DataSource = Adodc1
Form2.Show
End Sub

کد زیر را هم به فرم 2 بیافزایید:

کد:
Private Sub Form_Load()
Set DataGrid1.DataSource = Form1.Adodc1
End Sub

a3.gif

پس می توان از یک فرم به ADO فرم دیگر وصل شد.

دیتابیس زیر را هم در پوشه پروژه خود قرار دهید:
http://saalek110.250free.com/gifs2/a6/db1.rar
 

rouzbeh_ziafati

Registered User
تاریخ عضویت
17 دسامبر 2006
نوشته‌ها
165
لایک‌ها
5
سن
42
محل سکونت
همدان
سلام
من یه سوال دارم در ویژوال بیسیک
اگه بخوام یک تاریخ رو در text1.text بگیرم و با دستور sql اون رو با فیلد date_out در بانک که در نوع تاریخ است مقایسه کنم چه کار باید بکنم ؟؟؟ هر کاری کردم خطا داد یا اینکه خطا نداد اما رکوردی هم پیدا نکرد
 
بالا