PDA

View Full Version : چند سوال در مورد ADO.NET



hesam_hma
جمعه 23 شهریور 1386, 18:00 عصر
با درود به همه دوستان
من در ابتدا باید بگم که فکر می کنم مباحث مربوط به دات نت نیاز به یه تالار ADO.NET هم داره، حالا ...
سوال1 : من با استفاده از کد زیر دو جدول رو به دیتا ست اضافه می کنم ، اما وقتی می خوام اونا رو بروز (UpDate) کنم فقط آخرین جدول رو که اضافه کردم رو می تونم بروز کنم ؟


sele = "select * from tblrel order by intID"
da = New SqlDataAdapter(sele, con)
da.Fill(ds, "tblrel")
DataGridView2.DataBindings.Add(New Binding("datasource", ds, "tblrel"))
sele = "select tblOrgan.* from tblOrgan order by intID"
da = New SqlDataAdapter(sele, con)
da.Fill(ds, "tblOrgan")
DataGridView1.DataBindings.Add(New Binding("datasource", ds, "tblOrgan"))


سوال 2 : چطوری میتونم DataTable رو Bind کنم داخل DataGridView
سوال 3 : برای جستجو در بین داده های DataSet ,DataTable چگ.نه از دو متد Fine,Select استفاده کنیم

با سپاس از همه دوستان

yaserzare
جمعه 23 شهریور 1386, 22:24 عصر
برای ارتباط دادن اطلاعات جدول مورد نظر به datagridview میتونی از کد زیر استفاده کنی
DataGridView1.DataSource = ds
DataGridView1.DataMember = tablename

و برای جستجو کردن با استفاده از دستور select میتونی از کد زیر استفاده کن

"sele = "select * from tblrel where id=2

(da = New SqlDataAdapter(sele, con
("da.Fill(ds, "tblrel
و بعد با استفاده از کد بالا جدول را به datagrid ربط بدی

hesam_hma
شنبه 24 شهریور 1386, 07:11 صبح
با تشکر ، اما دوست عزیز منظور من جستجو در دیتا ست یا دیتا تیبل بود و با دستوراتی مثل
DataTable.Rows.Find , یا ...
و سوال بعدی قرار دادن دیتا تیبل در دیتا گرید بود نه دیتا ست
و اما سوال اول برای من خیلی حیاتی تره ...
ممنون

hesam_hma
شنبه 24 شهریور 1386, 21:49 عصر
اساتید محترم لطفاً عنایت بفرمایید و سوالات بنده رو جواب بدید (ممنون میشم)

ghafoori
یک شنبه 25 شهریور 1386, 10:36 صبح
برای سوال اول شما بخاطر این است که هز بار دیتااداپتور را از اول new می کنی در این حالت دستورات update جدول قبلی حذف می شود شما باید برای هر جدول دیتا اداپتور مجزا در نظر بگیرید

__H2__
سه شنبه 27 شهریور 1386, 10:01 صبح
سلام
1) هر جدول DataAdapter جدای خودش را میخواهد. (همانطور که کاربر ghafoori اشاره کردند)
2) DataGridView1.DataSource = datatable
3)


Dim rows() As System.Data.DataRow = DataTable.Select("ColumnName=5")

تقریباً مثل دستور Where در SQL عمل میکند و شما میتوانید فکر کنید که WHERE را تایپ کرده اید و حالا میخواهد شرط را وارد کنید، البته بعضی دستورات خاص را پشتیبانی نمیکند.
این دستور به شما آرایه ای از سطرها بر میگرداند که میتوانید در حلقه For-Next یا For-Each اسکنش کنید.




جدول حاوی کلید واحد و تک
Dim row As System.Data.DataRow = dt.Rows.Find(25)

یا

جدول حاوی کلید چندگانه و ترکیبی
Dim row As System.Data.DataRow = dt.Rows.Find(NewObject() {25, "Ali", #1/1/2005#})

دستور فوق بر اصل کلید اصلی جدول سرچ سریعی انجام میدهد و فقط باید مقدار کلید به ترتیب به آن پاس داده شود و بدیهی است که در صورت وجود جواب، جواب یک سطر واحد است.