PDA

View Full Version : آموزش کامل بانک اطلاعاتی اکسس و SQL و اتصال آنها در وی بی



rezasafdari
یک شنبه 29 مرداد 1385, 19:57 عصر
قصد دارم در این قسمت آموزش اتصال به بانک های اطلاعاتی اکسس و SQL رو آموزش بدم و امکانات و طریقه ی استفاده از اونها با اتصال به اکسس از طریق ADODB شروع میکنم
در این آموزش سعی کردم تا جایی که امکان داره از کلماتی استفاده کنم که برای همه قابل استفاده باشه :قلب:
برای فعال سازی کلاس ADODB در پروژه ی خود به طریقه ی زیر عمل کنید.
ابتدا از منوی Project گزینه ی References رو انتخاب کنید سپس در منوی باز شده به دنبال Microsoft ActiveX Data object 2.8 Library تیک بزنید و سپس Ok کنید.
سپس یک کامند باتون و یک دیتا گرید روی فرم خود بیندازید
برای فعال کردن شی دیتا گرید در پروژه مراحل زیر را انتخاب کنید :
کلید های ترکیبی Ctrl + T را فشار دهید تا منوی اضافه کردن کامپوننت ها باز شود در منوی باز شده بدنبال Microsoft DataGrid Control 6.0 (OLEDB) بگردید و این شی را انتخاب کرده (تیک زده )و OK کنید سپس یک شی به اشیا سمت چپ وی بی شما اضافه میشود .
پس از قرار دادن دیتا گرید و کامند باتون روی فرم خود روی فرم کلیک کنید تا وارد قسمت نوشتن کد شوید در قسمت جنرال‌(بالاترین جای این صفحه ) کد زیر را کپی پیست کنید :

Public cn As ADODB.Connection
Public cm As ADODB.Command
Public RS As ADODB.Recordset
و سپس در زیر آن این کد را کپی پیست کنید :

Private Sub Command1_Click()
Set cn = New ADODB.Connection
Set cm = New ADODB.Command
Set RS = New ADODB.Recordset
cn.ConnectionString = App.Path + "\Data\DBCreateTable.mdb"
cn.Provider = "Microsoft.jet.oledb.4.0"
cn.CursorLocation = adUseClient
cn.Open
cm.ActiveConnection = cn
cm.CommandType = adCmdText
cm.CommandText = "select * FROM rezasafdari"
RS.CursorType = adOpenStatic
RS.CursorLocation = adUseClient
Set RS = cm.Execute
Set Me.DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub

خوب مشخصه که باید به جای \Data\DBCreateTable.mdb آدرس بانک اطلاعاتی خود را وارد کنید
سپس در قسمت کد بجای rezasafdari نام تیبل بانک اطلاعاتی خود را وارد کنید بعد از آن کلید F5 را زده تا برنامه اجرا شود سپس روی کلید Command1 کلیک کنید به بانک وصل شدید !! آسون بود نه!!cm.CommandText = "select * FROM rezasafdari"
خوب اینم از اتصال بانک اطلاعاتی از طریق ADODB دفعه ی بعد از طریق ADODC رو میگم چون این دو روش از سریعترین روش ها برای دسترسی به بانک اطلاعاتی هستند...
مشکلی بود در همین قسمت مطرح کنید
یا علی:چشمک:

rezasafdari
یک شنبه 29 مرداد 1385, 20:25 عصر
نمیدونم چش بود نفرستاد نمونه کار رو اما به هر حال اینم بگیرید که اگه مشکلی بود حل بشه!
یا علی:چشمک:

سعید مکاری
دوشنبه 30 مرداد 1385, 03:57 صبح
مرسی آقا خوب بود اما آموزش Sql رو هم اگه بزاری خوب میشه

masoodp666
سه شنبه 07 شهریور 1385, 21:38 عصر
عالیه ! :تشویق:
خواهشا آموزش SQL و اتصال اون در VB.NET ....... :چشمک:

h_ma1355
چهارشنبه 08 شهریور 1385, 13:23 عصر
آقای رضا صفدری در صورت امکان کد sql آنرا هم بگذارید . با تشکر

reza_sooty30
چهارشنبه 08 شهریور 1385, 22:58 عصر
دوستان اگه امکان داره به MySQL هم اشاره کنین .

adhami
یک شنبه 17 دی 1385, 10:28 صبح
[QUOTE=rezasafdari;257834]

RS.CursorType = adOpenStatic
RS.CursorLocation = adUseClient
[/CODE]
با سلام خدمت شما دوست عزیز
سوالی که برای من مطرح شده این است که وقتی پرس و جو را برای حالتی می نویسم که با شرط اجرا شود از دو خط بالا خطا می گیرد .
لطفا دلیل را بگویید .

Neeloofar
یک شنبه 17 دی 1385, 11:55 صبح
سلام
لزومی به این همه کد نویسی هم نداره.
خط های اضافی بالا هم نیاز نوشتن نداره چون Adodb خودش پیشفرض با این مقادیر تنظیم شده است.
فقط با همین یک خط هم میشه این کار رو انجام داد.
.
.


Dim r As New ADODB.Recordset
r.CursorLocation = adUseClient
r.Open "select * FROM MyTable", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\MyDataBase.mdb;Persist Security Info=True;Jet OLEDB:Database Password=myPassword", adOpenStatic, adLockOptimistic

myPassword هم واسه اینه که یک وقت دیتابیس پسورد داشته باشد.


اینم SQL Server :


r.Open "SElECT * FROM MyTable;", "Provider=SQLOLEDB.1;Password=MyPassword;Persist Security Info=True;User ID=sa;Initial Catalog=MyDataBase;Data Source=MyServerName", adOpenStatic, adLockOptimistic

sa = کاربر SQL SEREVR
MyPassword = پسورد کاربر
MyServerName = نام سرور بانک اطلاعاتی
MyDatabase = نام دیتابیس مورد نظر
MyTable = نام جدول
.
موفق باشید!

adhami
یک شنبه 17 دی 1385, 12:25 عصر
با تشکر از شما
ولی خطای که هنگام اجرا می گیرد همچنان باقی است . منظورم به خط
r.CursorLocation = adUseClient
است و خطا این است
operation is not allowed when the object is open
البته من کد را کامل می گذارم ممنون می شم اگه کمکم کنید
Dim npcode As Integer
Dim cnn2 As New ADODB.Connection
Dim cmd3 As New ADODB.Command
Dim rst2 As New ADODB.Recordset
'******************************************
npcode = Val(txtpercode.Text)
cnn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & App.Path & "\karamozan.mdb"
With cmd3
.ActiveConnection = cnn2
.CommandText = "select * from arz where percode =" & npcode
.CommandType = adCmdText
End With
Set rst2 = cmd3.Execute
With rst2
'.CursorType = adOpenKeyset
'.CursorLocation = adUseClient
With DataGrid1
Set .DataSource = rst2.DataSource
.Columns(0).Alignment = dbgCenter
.Columns(0).Caption = "percode"
.Columns(1).Alignment = dbgCenter
.Columns(1).Caption = "grade"
.Columns(2).Alignment = dbgCenter
.Columns(2).Caption = "date"
End With
End With
rst2.Close
cnn2.Close

adhami
یک شنبه 17 دی 1385, 13:12 عصر
با سلام
فایل را attach کردم لطفا من را راهنمایی کنید

Neeloofar
یک شنبه 17 دی 1385, 16:59 عصر
ببینم شما rst2 رو کجا Open کردید؟؟؟؟؟؟؟؟؟؟؟
در ضمن rst2 رو در پایان روال اگه ببندی دیتا گرید رفرش نمیشه. در ابتدای روال چک کن ببین اگه بازه ببند. و همچنین وقتی فرم آنلود شد اونوقت ببند.

من کد رو بروشی که در بالا توضیح دادم اصلاح کردم.

موفق باشید.

mjelecom
پنج شنبه 21 دی 1385, 17:14 عصر
با تشکر از راهنمایی شما