PDA

View Full Version : امدن تعرفه های نام انتخاب شده در combobox



saeedhushmand
یک شنبه 15 آبان 1390, 22:09 عصر
من یه ديتابيس دارم که یه جدول داره با نام tarefe و دارای 3 ستون با نام های name , tarefe , money می باشد چی کار کنم تا وقتی نامی از ستون name انتخاب شد در combobox1 تعرفه های نام انتخاب شده بیاد و قیمت تعرفه انتخاب شده توی یه label نمایش داده بشه (بانک اطلاعاتی sql می باشد)

لطفا اگه امکانش هست سورسی بذارید ممنون می شم...

uniqueboy_ara
یک شنبه 15 آبان 1390, 22:35 عصر
دوست عزیز شما کد های دسترسی به دیتا بیست رو اینجا قرار بده تا خدمتت عرض کنم چه کنی

saeedhushmand
یک شنبه 15 آبان 1390, 23:06 عصر
دوست عزیز اکه بتونی کد روی این پروژه برام اضافه کنی و برام روی سایت قرار بدی ممنون می شم...

upload نمی کرد مجبور شدم 3قسمتش کنم..

77512
77511
77510

saeedhushmand
یک شنبه 15 آبان 1390, 23:50 عصر
یعنی کسی نیست به سوالم جواب بده...

uniqueboy_ara
دوشنبه 16 آبان 1390, 00:06 صبح
خیلی کار ساده ای هستش
شما به ترتیب باید برای Event های selectedIndexChanged هر دو ComboBox دستور select بنویسی به این صورت که تو اولی، باید از یه همچین کوئری ای استفاده کنی
select name from tarefe

برای لست تعرفه ها هم باید همچین کوئری ای بنویسی
select tarefe from tarefe where name='"+comboBox1.text+"'

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

از این استفاده کن
ارتباط سریع و آسان از #C به SQLserver (http://barnamenevis.org/showthread.php?312422-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%B3%D8%B1%DB%8C%D8%B9-%D9%88-%D8%A2%D8%B3%D8%A7%D9%86-%D8%A7%D8%B2-C-%D8%A8%D9%87-SQLserver)

sobaisobai
دوشنبه 16 آبان 1390, 00:35 صبح
سلام
مشابه همین سوال رو پرسیده بودی تو یه تاپیک دیگه اونجا هم جواب داده بودم
تغییرات رو انجام دادم

saeedhushmand
دوشنبه 16 آبان 1390, 01:03 صبح
دوست عزیز توی این کد
SqlCommand cmd = new SqlCommand();
string con = "Your connection";
cmd.Connection = con;
cmd.CommandText = "select tarefe from TableName where Name='" + comboBox1.Text + "'";
cmd.ExecuteNonQuery();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet DS = new DataSet();
adapter.Fill(DS,"TableName");
WriteComboBox(DS, comboBox2);


در این قسمت
cmd.Connection = con;

con ارور می ده

sobaisobai
دوشنبه 16 آبان 1390, 10:48 صبح
دوست عزیز
con همون کانکشن خودت برای اتصال به دیتابیس هستش
اگه توجه کنی تو کد زیر مقدار con رو نوشتم Your Connection یعنی کانکشن خودت رو بنویس
string con = "Your connection";
موفق باشی

saeedhushmand
دوشنبه 16 آبان 1390, 13:14 عصر
دوست عزیز کد به صورت زیر نوشتم درست شد ولی یه مشکلی داره وقتی اطلاعات نام انتخاب شده از combobox1 در combobox2 می یاد اگه نام از combobox1 عوض کنم اطلاعات نام اولی که انتخاب کردم در combobox2 می مونه و هر نامی که از combobox1 انتخاب کنم اطلاعات قبلی که از نام های دیگه هست در combobox2 می مونه و اطلاعات نام جدید به اون اضافه می شه

اینم کد...

public static void WriteComboBox(DataSet objDS, ComboBox dd)
{


DataTable objDT = objDS.Tables[0];
string[] str = new string[objDS.Tables[0].Columns.Count];
//adding Datarows as listview Grids
foreach (DataRow objRR in objDT.Rows)
{
for (int col = 0; col <= objDS.Tables[0].Columns.Count - 1; col++)
{
str[col] = objRR[col].ToString();
}
ComboBox com = new ComboBox();
dd.Items.Add(str[0]);
}
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{

con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
con.ConnectionString = "server=.;database=laberator;trusted_connection=yes ;";
con.Open();
DataTable dt = new DataTable();
cmd.CommandText = "select [noe kar sabt] from [tarefe kar sabt] where [noe tarefe]=N'" + comboBox1.Text + "' ";
cmd.ExecuteNonQuery();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet DS = new DataSet();
adapter.Fill(DS, "tarefe kar sabt");
WriteComboBox(DS, comboBox2);
}

sobaisobai
دوشنبه 16 آبان 1390, 13:21 عصر
سلام
شما قبل از کد زیر
WriteComboBox(DS, comboBox2);
اینو بنویس
comboBox2.Items.Clear();