خب تو رویداد selectindexchange کمبوباکس یه سلکت بنویس تقریبا اینطوری
select P_Price,p_Number from Tbl where Name = N'کولر'
خروجیشو بریز داخل تکست باکسها
سلام و عرض ادب ، خب جناب حیاتی چرا شما از 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
سلام
کانکشن رو ست نکردی، کوئریت هم پارامتری نیست، وقتی یه جدول بیشتر توی کوئری نداری نیازی به دیتاست نیست از دیتاتیبل استفاده کن. یه ; هم توی کوئریت اضافه است.
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 همون کانکشن هست
آخرین ویرایش به وسیله Mahmoud Zaad : سه شنبه 07 بهمن 1393 در 18:38 عصر
بدین شکل هم نوشتم جواب نداد :
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();
}
}
کانکشن استرینگ شما مشکل داره
اینجا رو یه نگاه بندازید
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();
textBox1.Text = products.Rows[3]["p_price"].ToString();
ببینید این خط داره میگه : ردیف 3 از ستون p_price رو از جدول products در textBox1 نمایش بده، حالا مشکل اینه که شما در ردیف سوم مقداری ندارید. شما همون 0 رو به جای 3 و 4 در دو خط آخر قرار بدید.
البته شما در کوئری تون دارید میگید: اگه نام کالا "کولر" بود قیمت و تعدادش رو نمایش بده، در اینجا سیستم اولین ردیفی که این مشخصات رو داشته باشه نمایش می ده.
من هر ردیفی رو قرار بدم این خطا رو در زمان اجراء نمایش میده.
89.png
می بخشید یک خط کد جا افتاده بود، این کد رو تست نکرده بودم. یه بار دیگه پست 5 رو نگاه کنید.
da.Fill(products);
خطا
qw.png
این دیگه از حوزه استحفاظی من خارجه، مشکل ارتباط با بانک اطلاعاتی هست، کانکشن استرینگ رو بررسی کن و اینکه sql server اجرا میشه یا stop شده
اصولا نبایس مشکل بده من با 2010 نوشتمش و sql2008
می تونی فایل پروژه رو با نوت پد باز کنی و اون قسمتها رو که علامت گذاشتم تغییر بدی
Untitled.jpg
سلام
با اجازه جناب khokhan
-------------------------
اینجا به نظرم چیزیه که میخواین !
http://www.c-sharpcorner.com/uploadf...using-C-Sharp/
سلام. خیلی خیلی ممنون میشم اگه جوابمو سریع بدید. من میخوام در لیست کتاب ها وقتی روی لینکی کلیک میکنم نشون بده که این کتاب توسط چه کسی به امانت برده شده
و هم چنین میخوام وقتی در لیست اعضای کتابخانه روی یک فرد کلیک میکنم نشون بده که این طرف چه کتاب هایی رو به امانت برده.
در ضمن من این کد رو با زبان php میخوام و دارم تو Adobe Dreamweaver کدنویسی میکنم. هر کی کمکم کنه دعاش میکنم.
سلام
به نظر من 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 مربوط به هزینه و از & به بعد رو داخل تعداد
البته فک کنم مشکلت حل شده
ولی خب اینجوری با یه query زدن به هدفت میرسی و شاید کمی سرعت برنامت بهتر شه
دیر رسیدم یکم
به من جواب بدید خواهش میکنم.