PDA

View Full Version : سوال: نمایش اطلاعات در textBox ها بر اساس انتخاب ComboBox؟



پیام حیاتی
دوشنبه 06 بهمن 1393, 17:37 عصر
سلام
یک ComboBox داریم که نام های محصول موجود در بانک را نمایش می دهد.
می خوام با انتخاب نام محصول ، تعداد و قیمتش به صورت خودکار در texBox1 و textBox2 نمایش داده بشه.
127926
127927
تشکر.

hamid_hr
دوشنبه 06 بهمن 1393, 17:58 عصر
خب تو رویداد selectindexchange کمبوباکس یه سلکت بنویس تقریبا اینطوری



select P_Price,p_Number from Tbl where Name = N'کولر'

خروجیشو بریز داخل تکست باکسها

mrprestige
دوشنبه 06 بهمن 1393, 18:08 عصر
سلام
یک ComboBox داریم که نام های محصول موجود در بانک را نمایش می دهد.
می خوام با انتخاب نام محصول ، تعداد و قیمتش به صورت خودکار در texBox1 و textBox2 نمایش داده بشه.
127926
127927
تشکر.

سلام و عرض ادب ، خب جناب حیاتی چرا شما از Binding استفاده نمیکنید ؟ . مثلا شما توی combo box مربوطه توی خاصیت selected item اینطوری بنویسید





int i=0
sqldataadapter da=new sqldataadapter(" select * from اسم جدول where (فیلد مورد نظر(نام کالا " + combobox1.selecteditem , متغیر کانکشنتون);
Dataset ds=new dataset();
da.fill(ds,"نام جدول");
textbox1.text =ds.table[0].rows[i]["نام فیلد محصول"].tostring();
textbox2.text =ds.table[0].rows[i]["نام فیلد قیمت"].tostring();

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

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

پیام حیاتی
دوشنبه 06 بهمن 1393, 19:32 عصر
سلام و عرض ادب ، خب جناب حیاتی چرا شما از Binding استفاده نمیکنید ؟ . مثلا شما توی combo box مربوطه توی خاصیت selected item اینطوری بنویسید





int i=0
sqldataadapter da=new sqldataadapter(" select * from اسم جدول where (فیلد مورد نظر(نام کالا " + combobox1.selecteditem , متغیر کانکشنتون);
Dataset ds=new dataset();
da.fill(ds,"نام جدول");
textbox1.text =ds.table[0].rows[i]["نام فیلد محصول"].tostring();
textbox2.text =ds.table[0].rows[i]["نام فیلد قیمت"].tostring();

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

امیدوارم تونسته باشم کمکی کرده باشم
این کد رو نوشتم :

int i = 0;
SqlDataAdapter da = new SqlDataAdapter("select * from products where p_name='" + comboBox1.Text + "';");
DataSet ds = new DataSet();
da.Fill(ds, "products");
textBox1.Text = ds.Tables[0].Rows[i]["p_price"].ToString();
textBox2.Text = ds.Tables[0].Rows[i]["p_number"].ToString();

خطا داره :

Warning 1 'System.Data.SqlClient.SqlParameterCollection.Add( string, object)' is obsolete: 'Add(String parameterName, Object value) has been deprecated. Use AddWithValue(String parameterName, Object value). http://go.microsoft.com/fwlink/?linkid=14202' C:\Users\payam\Documents\Visual Studio 2013\Projects\shop\shop\sql.cs 50 13 shop



و

Error 2 The best overloaded method match for 'System.Data.SqlClient.SqlDataAdapter.SqlDataAdapt er(System.Data.SqlClient.SqlCommand)' has some invalid arguments c:\users\payam\documents\visual studio 2013\projects\shop\shop\form1.cs 43 33 shop



و

Error 3 Argument 1: cannot convert from 'string' to 'System.Data.SqlClient.SqlCommand' c:\users\payam\documents\visual studio 2013\projects\shop\shop\form1.cs 43 52 shop

Mahmoud Zaad
دوشنبه 06 بهمن 1393, 20:58 عصر
سلام
کانکشن رو ست نکردی، کوئریت هم پارامتری نیست، وقتی یه جدول بیشتر توی کوئری نداری نیازی به دیتاست نیست از دیتاتیبل استفاده کن. یه ; هم توی کوئریت اضافه است.

SqlDataAdapter da = new SqlDataAdapter("select * from products where p_name=@p_name", cnn);
da.SelectCommand.Parameters.AddWithValue("@p_name", comboBox1.Text);

DataTable products = new DataTable();

da.Fill(products);

textBox1.Text = products.Rows[0]["p_price"].ToString();
textBox2.Text = products.Rows[0]["p_number"].ToString();

cnn همون کانکشن هست

پیام حیاتی
سه شنبه 07 بهمن 1393, 00:09 صبح
سلام
کانکشن رو ست نکردی، کوئریت هم پارامتری نیست، وقتی یه جدول بیشتر توی کوئری نداری نیازی به دیتاست نیست از دیتاتیبل استفاده کن. یه ; هم توی کوئریت اضافه است.

SqlDataAdapter da = new SqlDataAdapter("select * from products where p_name=@p_name", cnn);
da.SelectCommand.Parameters.AddWithValue("@p_name", comboBox1.Text);

DataTable products = new DataTable();

textBox1.Text = products.Rows[0]["p_price"].ToString();
textBox2.Text = products.Rows[0]["p_number"].ToString();

cnn همون کانکشن هست
به جای این cnn چی برای کانکشن باید قرار بدم؟!
جستجو کردم اما سایر هم عبارت connection یا con قرار دادن که خطا می گیره.

پیام حیاتی
سه شنبه 07 بهمن 1393, 07:03 صبح
بدین شکل هم نوشتم جواب نداد :

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{


using (SqlConnection c = new SqlConnection("(local)","store"))
{
c.Open();


using (SqlDataAdapter a=new SqlDataAdapter("SELECT * FORM products where p_name='" + comboBox1.Text + "'",c))
{
DataTable t = new DataTable();
a.Fill(t);


textBox1.Text = t.Rows[0]["p_price"].ToString();
textBox2.Text = t.Rows[0]["p_number"].ToString();
}
}

Mahmoud Zaad
سه شنبه 07 بهمن 1393, 10:46 صبح
کانکشن استرینگ شما مشکل داره
اینجا (http://www.connectionstrings.com/sql-server/)رو یه نگاه بندازید

SqlConnection cnn = new SqlConnection("کانکشن استرینگ"(;
SqlDataAdapter da = new SqlDataAdapter("select * from products where p_name=@p_name", cnn);
da.SelectCommand.Parameters.AddWithValue("@p_name" , comboBox1.Text);

DataTable products = new DataTable();

textBox1.Text = products.Rows[0]["p_price"].ToString();
textBox2.Text = products.Rows[0]["p_number"].ToString();

پیام حیاتی
سه شنبه 07 بهمن 1393, 15:04 عصر
کانکشن استرینگ شما مشکل داره
اینجا (http://www.connectionstrings.com/sql-server/)رو یه نگاه بندازید

SqlConnection cnn = new SqlConnection("کانکشن استرینگ"(;
SqlDataAdapter da = new SqlDataAdapter("select * from products where p_name=@p_name", cnn);
da.SelectCommand.Parameters.AddWithValue("@p_name" , comboBox1.Text);

DataTable products = new DataTable();

textBox1.Text = products.Rows[0]["p_price"].ToString();
textBox2.Text = products.Rows[0]["p_number"].ToString();
مشکلش چیه؟!!!

SqlConnection cnn = new SqlConnection("Data Source=localhost;Initial Catalog=store;");
SqlDataAdapter da = new SqlDataAdapter("select * from products where p_name=@p_name", cnn);
da.SelectCommand.Parameters.AddWithValue("@p_name", comboBox1.Text);


DataTable products = new DataTable();


textBox1.Text = products.Rows[3]["p_price"].ToString();
textBox2.Text = products.Rows[4]["p_number"].ToString();

Mahmoud Zaad
سه شنبه 07 بهمن 1393, 16:07 عصر
textBox1.Text = products.Rows[3]["p_price"].ToString();

ببینید این خط داره میگه : ردیف 3 از ستون p_price رو از جدول products در textBox1 نمایش بده، حالا مشکل اینه که شما در ردیف سوم مقداری ندارید. شما همون 0 رو به جای 3 و 4 در دو خط آخر قرار بدید.

البته شما در کوئری تون دارید میگید: اگه نام کالا "کولر" بود قیمت و تعدادش رو نمایش بده، در اینجا سیستم اولین ردیفی که این مشخصات رو داشته باشه نمایش می ده.

پیام حیاتی
سه شنبه 07 بهمن 1393, 18:37 عصر
textBox1.Text = products.Rows[3]["p_price"].ToString();

ببینید این خط داره میگه : ردیف 3 از ستون p_price رو از جدول products در textBox1 نمایش بده، حالا مشکل اینه که شما در ردیف سوم مقداری ندارید. شما همون 0 رو به جای 3 و 4 در دو خط آخر قرار بدید.

البته شما در کوئری تون دارید میگید: اگه نام کالا "کولر" بود قیمت و تعدادش رو نمایش بده، در اینجا سیستم اولین ردیفی که این مشخصات رو داشته باشه نمایش می ده.
من هر ردیفی رو قرار بدم این خطا رو در زمان اجراء نمایش میده.
127972

Mahmoud Zaad
سه شنبه 07 بهمن 1393, 19:40 عصر
می بخشید یک خط کد جا افتاده بود، این کد رو تست نکرده بودم. یه بار دیگه پست 5 (http://barnamenevis.org/showthread.php?483954-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-textBox-%D9%87%D8%A7-%D8%A8%D8%B1-%D8%A7%D8%B3%D8%A7%D8%B3-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-ComboBox%D8%9F&p=2166176&viewfull=1#post2166176) رو نگاه کنید.
da.Fill(products);

پیام حیاتی
سه شنبه 07 بهمن 1393, 20:24 عصر
می بخشید یک خط کد جا افتاده بود، این کد رو تست نکرده بودم. یه بار دیگه پست 5 (http://barnamenevis.org/showthread.php?483954-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-textBox-%D9%87%D8%A7-%D8%A8%D8%B1-%D8%A7%D8%B3%D8%A7%D8%B3-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-ComboBox%D8%9F&p=2166176&viewfull=1#post2166176) رو نگاه کنید.
da.Fill(products);
خطا :اشتباه:
127975

Mahmoud Zaad
سه شنبه 07 بهمن 1393, 20:38 عصر
این دیگه از حوزه استحفاظی من خارجه، مشکل ارتباط با بانک اطلاعاتی هست، کانکشن استرینگ رو بررسی کن و اینکه sql server اجرا میشه یا stop شده

khokhan
سه شنبه 07 بهمن 1393, 23:28 عصر
خطا :اشتباه::لبخند:

اینو امتحان کن ببین باز خطا می ده؟

پیام حیاتی
چهارشنبه 08 بهمن 1393, 00:09 صبح
اینو امتحان کن ببین باز خطا می ده؟
پروژه به درستی باز نمیشه با Visual2013 چطور باید تبدیلش کرد؟

khokhan
چهارشنبه 08 بهمن 1393, 00:44 صبح
پروژه به درستی باز نمیشه با Visual2013 چطور باید تبدیلش کرد؟
اصولا نبایس مشکل بده من با 2010 نوشتمش و sql2008
می تونی فایل پروژه رو با نوت پد باز کنی و اون قسمتها رو که علامت گذاشتم تغییر بدی
127977

ghasem110deh
چهارشنبه 08 بهمن 1393, 08:54 صبح
سلام
با اجازه جناب khokhan (http://barnamenevis.org/member.php?131732-khokhan)
-------------------------
اینجا به نظرم چیزیه که میخواین !

http://www.c-sharpcorner.com/uploadfile/satyapriyanayak/how-to-show-related-data-in-textbox-using-C-Sharp/

پیام حیاتی
چهارشنبه 08 بهمن 1393, 19:39 عصر
اصولا نبایس مشکل بده من با 2010 نوشتمش و sql2008
می تونی فایل پروژه رو با نوت پد باز کنی و اون قسمتها رو که علامت گذاشتم تغییر بدی
127977
تغییری حاصل نشد.

پیام حیاتی
چهارشنبه 08 بهمن 1393, 19:41 عصر
این دیگه از حوزه استحفاظی من خارجه، مشکل ارتباط با بانک اطلاعاتی هست، کانکشن استرینگ رو بررسی کن و اینکه sql server اجرا میشه یا stop شده

خط اول کد رو باید به شکل زیر می نوشتم :

SqlConnection cnn = new SqlConnection("Data Source=localhost;Initial Catalog=store; Integrated Security=SSPI;");

مشکل فقط نبود این قطعه بود :
Integrated Security=SSPI;
از تمامی عزیزان که راهنمایی و کمک کردن بی نهایت سپاسگزارم.:قلب::بوس::قلب:

itman93
پنج شنبه 07 خرداد 1394, 11:51 صبح
سلام. خیلی خیلی ممنون میشم اگه جوابمو سریع بدید. من میخوام در لیست کتاب ها وقتی روی لینکی کلیک میکنم نشون بده که این کتاب توسط چه کسی به امانت برده شده
و هم چنین میخوام وقتی در لیست اعضای کتابخانه روی یک فرد کلیک میکنم نشون بده که این طرف چه کتاب هایی رو به امانت برده.

در ضمن من این کد رو با زبان php میخوام و دارم تو Adobe Dreamweaver کدنویسی میکنم. هر کی کمکم کنه دعاش میکنم.

god of war
پنج شنبه 07 خرداد 1394, 12:33 عصر
سلام
به نظر من query رو اینجوری بزن
string query = " select p_name , CONVERT(nvarchar(20),p_price)+'&' + CONVERT(nvarchar(20),+p_number) as cost from nameJadval " ;
comboBox.DisplayMember = " p_name";
comboBox.ValueMember = " cost " ;


بعد با selectedValue به مقدار تعداد و قیمت دسترسی داری که با کار با رشته ها میتونی تا کارکتر & رو بریزی داخل textbox مربوط به هزینه و از & به بعد رو داخل تعداد

god of war
پنج شنبه 07 خرداد 1394, 12:34 عصر
البته فک کنم مشکلت حل شده :لبخند::لبخند:
ولی خب اینجوری با یه query زدن به هدفت میرسی و شاید کمی سرعت برنامت بهتر شه
دیر رسیدم یکم

itman93
پنج شنبه 07 خرداد 1394, 14:13 عصر
به من جواب بدید خواهش میکنم.

Mahmoud Zaad
پنج شنبه 07 خرداد 1394, 14:26 عصر
سلام. خیلی خیلی ممنون میشم اگه جوابمو سریع بدید. من میخوام در لیست کتاب ها وقتی روی لینکی کلیک میکنم نشون بده که این کتاب توسط چه کسی به امانت برده شده
و هم چنین میخوام وقتی در لیست اعضای کتابخانه روی یک فرد کلیک میکنم نشون بده که این طرف چه کتاب هایی رو به امانت برده.

در ضمن من این کد رو با زبان php میخوام و دارم تو Adobe Dreamweaver کدنویسی میکنم. هر کی کمکم کنه دعاش میکنم.
سلام
اینجا تالار سی شارپ هست، باید در بخش مربوطه سوال بپرسید.