ورود

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



soheil3242
چهارشنبه 09 مرداد 1387, 14:14 عصر
با سلام . فرض كنيم كه فرمي داريم كه براي جستجو ويرايش اطلاعات به كار ميرود نتيجه جستجو در يك datagrid view نمايش داده ميشود كاربر ب دو بار كليك كردن روي هر يك از ركورد هاي يافت شده وارد فرم ديگري ميشود . فرم دوم از لحاظ شمايل دقيقا مانند فرم ثبت اوليه اطلاعات در پايگاه است با اين تفاوت كه ديگر فيلدهاي آن خالي نيست و هر يك از فيلدها حاوي مقدار مربوطه در سطر كليك شده در فرم جستجو هستند . كاربر در فرم دوم ميتواند اطلاعات فيلدها را ويرايش كند و نتيجه را ثبت كند كه اين تغيير در datagridview در فرم جستجو نيز بايد نمايش داده شود . ضمن اينكه بعضي از فيلدها كه در فرم دوم به مقدار مربوطه bind شدهاند مقدار خود را از فرم ديگري يا از يك combobox ميگيرند كه بنابراين بايد مقدار كل اطلاعات combibox نيز در فرم دوم براي ويرايش فيلد مربوطه در دسترس باشد .
اين كار با استفاده از Ado .net چگونه انجام ميشود ؟

amin_elahi
چهارشنبه 09 مرداد 1387, 14:41 عصر
سلام



Dim ds As New DataSet
Dim str As String = "select * from register"
Dim dta As New SqlDataAdapter(str, "Data Source=CLICK;Initial Catalog=bank;Integrated Security=True;Pooling=False")
Dim bs As New BindingSource
dta.Fill(ds, "register")
bs.DataSource = ds
bs.DataMember = "register"
DataGridView1.DataSource = bs


با استفاده از کد بالا در vb.net می توانید اطلاعات را از جدول خوانده و نمایش دهید
خط دوم تمام فیلد های جدول register را انتخاب می کند
در خط سوم به جای click نام سرور خود را بنویسید و
در خط های بعدی به جای register نام جدول خود را بنویسید
برای نمایش فیلد های خاص از جدول و یا تعیین شرط برای نمایش رکورد ها در datagridview باید دستور select را تغییر دهید.
البته این کد برای پایگاه داده sql است و در ابتدای صفحه باید کد زیر را نیز بنویسید



imports. system.data

imports.system.data.sqlclient


واسه بقیه چیزایی که گفتید دقیق تر توضیح بدید تا راهنمایی کنم.

soheil3242
چهارشنبه 09 مرداد 1387, 17:01 عصر
سلام چيزايي كه گفتين همه قبول . مشكل براي ويرايش اطلاعات در فرم دوم است بزارين اين طوري بگم . فرض كنيد ما يك فرم جستجوي ركورد داريم . اطلاعات براساس پارامتر جستجو يافت شده و در يك gridvirw نمايش داده ميشود . حالا كاربر ميخواهد مقدار فيلدهاي بعضي از ركورد ها را ويرايش كند براي اين كار روي ركورد نمايش داده شده در gridview كليك ميكند . با اين كار فرم شماره 2 باز ميشود . در اين فرم مقادير موجود در فيلدهاي ركوردي كه كليك شده بود نمايش داده ميشود اما به چه صورت ؟ در قالب همان شكل و شمايلي كه در فرم ثبت همين اطلاعات وارد ميشود يعني اگر در فرم ثبت اطلاعات شماره تلفن را وارد textbox ميكنند حالا هم شماره تلفن ركورد كليك شده در فرم دوم در يك textbox نمايش داده شود يا اگر براي ثبت نام شهر از يك combobox در فرو ورود اطلاعات استفاده ميشود حالا هم نام شهر ركورد مربوطه در combobox نشان داده شود كه البته بايد با همين combobox امكان انتخاب ساير شهرها براي ويرايش مثلا نام شهر وجود داشته باشد " در يك كلام فرم ورود و ثبت اطلاعات با فرم نمايش اطلاعات هر ركورد براي ويرايش آن يكي باشد " سوال اينه كه چه طور فيلدهاي ركورد كليك شده را به كنترلهاي يك فرم وابسته كنم ( با فرض اينكه بعضي از آنها نيز حالت combobox دارند )