ورود

View Full Version : در رابطه با وصل شدن به پایگاه داده



zarrin_306
پنج شنبه 21 مهر 1384, 09:49 صبح
چند روز پیش در مورد ذخیره ایتمهای comboboxیک دوستی کدی داد که بشرح زیر است

Dim cnCo As New ADODB.Connection
Dim rstA As New ADODB.Recordset
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnCo.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Application.StartupPath & "\data.mdb")
rstA.Open("data", cnCo, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
End Sub

Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
lstAM.Items.Clear()
Dim oI As ListViewItem
If rstA.BOF <> True Then
rstA.MoveFirst()
End If
Do While rstA.EOF = False
oI = lstAM.Items.Add(rstA.Fields("ag").Value)
oI.SubItems.Add(rstA.Fields("ln").Value)
oI.SubItems.Add(rstA.Fields("fn").Value)
rstA.MoveNext()
Loop
End Sub

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
rstA.AddNew()
rstA.Fields("fn").Value = txtFN.Text
rstA.Fields("ln").Value = txtLN.Text
rstA.Fields("ag").Value = txtAG.Text
rstA.Update()
End Sub
حال با آن کار کردم درست بود البته application را هم داشت
ولی از انجایی که من هنوز دقیق بلد نیستم وصل شدن را درچند خط اول برای من مشکل ساز شد
اگر ممکن است در مورد adodb که در کد هست توضیح دهید چیست واز کجا امده
البته قابل توجه که اگر کسی کد جالبی داشته باشد که بتوان ایتمهای چند comboboc را ذخیره کرد لطفا برایم بفرستید
با تشکر وافر از شما دوست عزیز

titbasoft
پنج شنبه 21 مهر 1384, 10:49 صبح
از این کد دارید توی vb.net استفاده می کنید؟ برای اتصال به database در net. یا باید از ado.net استفاده کنید یا reference ی ado رو به پروژه تون اضافه کنید!

zarrin_306
پنج شنبه 21 مهر 1384, 11:22 صبح
دوست عزیز راهنمایی بیشتر
اگر ممکنه کد بالا را اصلاح کنید وبگویید از چه چیزی در formdisiner باید استفاده کنم
در vb.net
با تشکر

vbapr2005
پنج شنبه 21 مهر 1384, 16:23 عصر
زرین عزیز اگه همه ی این کارا فقط برای پر کردن ساده ی یه لیست باکسه که با SaveSetting و GetSetting به نظر من بهتره

zarrin_306
پنج شنبه 21 مهر 1384, 16:28 عصر
دوست عزیز vbapr2005 کد بالا که میگی رادارم اما آن برای یک کمبوباکس خوبه
من برای لا اقل 6 combobox میخوام

vbapr2005
پنج شنبه 21 مهر 1384, 17:14 عصر
روشی که تو http://www.barnamenevis.org/forum/showthread.php?t=30201 گفته شده برای هر چند تا کمبو باکس یا لیست باکس یا هر جای دیگه ای که بخوای اطلاعاتی رو لود کنی قابل استفاده است

asilverisis
پنج شنبه 21 مهر 1384, 23:56 عصر
سلام
من تعجب می کنم شما چرا نمی خواید از تکنولوژی های جدید استفاده کنید
شما اگر از Dataset های خود .net و با Ado.net کار کنید برای Load کردن ComboBox از دیتابیس حتی یک خط کد هم لازم نیست بنویسید

zarrin_306
شنبه 23 مهر 1384, 08:47 صبح
مشکل من همینه
اگر میشود شیوه ی کار با ان را به من هم یاد بدهید

asilverisis
شنبه 23 مهر 1384, 23:47 عصر
سلام
خیلی ساده مراحل زیر رو دنبال کن :
1- یک SqlDataAdapter از Toolbox انتخاب و ویزارد رو دنبال کن تا تموم شه ( اطلاعاتی که میخوای توی Combo بذاری )
2- حالا یه دیتاست generate کن از adapter مورد نظر
3- حالا یه Combobox بذار روی فرم
4- برو توی propertis و خواص زیر رو مقدار دهی کن
5- Datasource = Dataset11

6- Datamember = TableName

7- Display member = نام فیلدی که می خوای توی کمبو نشون داده بشه

8- Valuemember= نام فیلدی که میخوای با انتخاب هر آیتم مقدار متناظرش رو داشته باشی

9- حالا توی فرم لود اینو بنویس




SqlDataAdapter1.Fill(Dataset11)


حالا با انتخاب هر آیتم هر میتونی خود آیتم رو داشته باشی هم مقدار متناظرش

امیدوارم منظورتون رو درست فهمیده باشم و جواب بدردتون بخوره
اگر اینا رو بلد بودید ببخشید

موفق باشید