PDA

View Full Version : نام ستونهای جداول در combobox



karaji333
جمعه 23 فروردین 1387, 11:21 صبح
سلام...من 2 تا combobox دارم تو اولی اسم 4 تا جدول و تو دومی میخوام هر جدول رو که از اولی انتخاب کردم ، اسم ستونهای اون جدول به عنوان آیتم های combo2 قرار بگیره..با
combobox2.items.add("") این کارو کردم ولی اینطوری کدهاش زیاد میشه(واسه هر ستون این عبارت رو نوشتم)میخوام اگه میشه با دستور sql این کارو انجام بدم...(واسه هر جدول یه دستور)
این که از combo1 یه گزینه انتخاب کنم(البته مقدار یه ستونو)بعد مقدارهای ستونهای دیگه از همون جدول یا یه جدول دیگه رو که بستگی به ستون انتخابی داشته باشه رو میتونم بریزم تو combo2...اما سرستون رو نمیتونم...ممنون

gdevnb
جمعه 23 فروردین 1387, 15:31 عصر
واسه هر ستون لازم نیست این کار رو انجام بدید . کد زیر رو ببین



string[] ob = { "1", "2", "3" };
comboBox1.Items.AddRange(ob);

mohammad272005
شنبه 24 فروردین 1387, 02:14 صبح
احتمالا منظوره شما اینه:

string queryStatement = "SELECT [name] FROM dbo.syscolumns WHERE [id] = (SELECT [id] FROM dbo.sysobjects WHERE [name] = '" + tableName + "') order by [name]";

az_farzaneh
شنبه 24 فروردین 1387, 23:24 عصر
سلام...من 2 تا combobox دارم تو اولی اسم 4 تا جدول و تو دومی میخوام هر جدول رو که از اولی انتخاب کردم ، اسم ستونهای اون جدول به عنوان آیتم های combo2 قرار بگیره..با
combobox2.items.add("") این کارو کردم ولی اینطوری کدهاش زیاد میشه(واسه هر ستون این عبارت رو نوشتم)میخوام اگه میشه با دستور sql این کارو انجام بدم...(واسه هر جدول یه دستور)
این که از combo1 یه گزینه انتخاب کنم(البته مقدار یه ستونو)بعد مقدارهای ستونهای دیگه از همون جدول یا یه جدول دیگه رو که بستگی به ستون انتخابی داشته باشه رو میتونم بریزم تو combo2...اما سرستون رو نمیتونم...ممنون
ابتدا:



using System.Data.SqlClient;

سپس در رویداد combobox1,selectedindexchanged این کد رو بنویسد :


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection cnn = new SqlConnection("Data Source=.;Initial Catalog=country;Integrated Security=True");
SqlCommand cmd = new SqlCommand("select * from " + comboBox1.SelectedItem.ToString(), cnn);
cnn.Open();
SqlDataReader reader = cmd.ExecuteReader();
comboBox2.Items.Clear();
for (int field = 0; field < reader.FieldCount; field++)
{
comboBox2.Items.Add(reader.GetName(field));
}
}