PDA

View Full Version : پر کردن فرم بصورت اتوماتیک



m_zamani
یک شنبه 15 بهمن 1385, 15:00 عصر
خواهش می کنم یکی راهنمایی کنه چطور می تونم textbox های روی فرم رو با یکی از رکوردهای جدولم پر کنم؟
نمی تونم بایند کنم
می خوام یکی از فیلدهای فرم رو که تایپ کردم با توجه به اون باکس بره از جدول رکورد متناظرش رو بیاره بریزه توی فرم
اگه کسی می دونه کامل راهنماییم کنه
ممنون میشم
خیلی گشتم و امتحان کردم اما جواب نگرفتم

RED-C0DE
یک شنبه 15 بهمن 1385, 18:26 عصر
اگه منظورت رو خوب فهمیده باشم :

(یک مثال برای جدول کالا)
مثلا یک TextBox داری که کد کالا رو باید توش وارد کرد، حالا باید توی رویداد textChanged مربوط به اون بنویسی که کد اشتراک رو پس از هر تغییر، از TextBox بگیره و با استفاده از یک Command که یک پارامتر "کد کالا" رو می گیره اطلاعات مربوط به رکوردی که این کد کالا رو داره رو برگردونه.
در آخر هم باید Command رو اجرا کنی و نتایج رو توی textbox های روی فرمت بذاری.

برای گرفتن نتایج هم می تونی از DataReader استفاده کنی.

m_zamani
دوشنبه 16 بهمن 1385, 09:12 صبح
من مبتدی هستم و کار با پارامترها رو بلد نیستم

mehdi.hh
دوشنبه 16 بهمن 1385, 09:16 صبح
اگر بر اساس مقادیر textbox مورد نظرت به کمک sqldataadapter یک select تو دیتابیس بزنی به راحتی می‌شه textbox مورد نظر را به dataset بایند کرد و اطلاعات مورد نظر را خواند به شرط اینکه select یک مقدار بازگشتی داشته باشد.

programmermp
دوشنبه 16 بهمن 1385, 09:21 صبح
من مبتدی هستم و کار با پارامترها رو بلد نیستم

سلام

منظورت از اینکه فیلد رو تکست باکس تایپ کردم بره رکورد متناظرش رو بیاره منظورت از فیلد

مقدارش هست دیگه مثلا تایپ کردی علی می خواهی هر چی رکورد بود رو برات بیاره که توش علی باشه

ببین کد زیر واسه بایند کردن فیلد به تکست باکس هست



textbox1.databinding.add(new binding("Text",dataset1,"table1.name"))


کد زیر هم برای انتخاب رکورد هایی که توش ali هست



strsql="Select * From Table1 where (name = ') &textbox2.text &"')"


table1 نام جدولت ، name نام فیلدت ، dataset جدولت رو توی اون قرار می دی

و در مورد کد آخری هم اطالاعات جدولت رو بر اساس مقداری که برای فیلد name در تکست

باکس دوم می نویسی استخراج می کنه

leilav_1984
دوشنبه 16 بهمن 1385, 13:17 عصر
اگه منظورت رو خوب فهمیده باشم :

(یک مثال برای جدول کالا)
مثلا یک TextBox داری که کد کالا رو باید توش وارد کرد، حالا باید توی رویداد textChanged مربوط به اون بنویسی که کد اشتراک رو پس از هر تغییر، از TextBox بگیره و با استفاده از یک Command که یک پارامتر "کد کالا" رو می گیره اطلاعات مربوط به رکوردی که این کد کالا رو داره رو برگردونه.
در آخر هم باید Command رو اجرا کنی و نتایج رو توی textbox های روی فرمت بذاری.

برای گرفتن نتایج هم می تونی از DataReader استفاده کنی.

همش صحیح; فقط به نظر من TextChanged مناسب نیست
چون با تایپ هر کرکتر این رویداد صدا میشه و ممکنه کدی که کاربر می خواد وارد کنه چند حرفی باشه و خطا پیش بیاد
بهتره تو رویداد Validating درست بودن مقدار وارد شده و موجود بودن اون در بانک رو چک کنید و تو Validated کاری رو که RED_C0DE گفتن انجام بدین

m_zamani
سه شنبه 17 بهمن 1385, 11:21 صبح
میشه بگید چطور می تونم از strsql ی که گفتید استفاده کنم؟

m_zamani
سه شنبه 17 بهمن 1385, 11:28 صبح
Private Sub Code_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Code.SelectedIndexChanged
Dim cm As SqlClient.SqlCommand
strsql = "Select * From Table1 where (name = Code.SelectedItem.tostring() )"
cm = New SqlClient.SqlCommand(strsql, con)
namo.DataBindings.Add(New Binding("Text", EnterDataSet1, "enter.name"))
End Sub



تا اینجای کد رو نوشتم بقیه رو نمی دونم
code اسم combobox ی است که می خوام اگه یکی از آیتمهاش انتخاب شد فرم رو با رکورد متناظر اون آیتم که در جدولم هست پر کنه

RED-C0DE
پنج شنبه 19 بهمن 1385, 11:06 صبح
command اِت رو اجرا کن. دیتاستت رو Fill کن با استفاده از متد DataAdapter.Fill(yourDataSet)

m_zamani
پنج شنبه 26 بهمن 1385, 09:01 صبح
command رو چطوری اجرا کنم؟