Developer Programmer
پنج شنبه 14 خرداد 1388, 10:14 صبح
یه کلاس کوچولو تعریف کردم
public void BindCombo(ComboBox combo , string srcTable , string Display , string value )
{
dataadapter.SelectCommand = new SqlCommand();
dataadapter.SelectCommand.Connection = sqlconnection;
dataadapter.SelectCommand.CommandText = "Select @a,@b from @c ";
dataadapter.SelectCommand.Parameters.Add( "@a" , SqlDbType.NVarChar,30 ).Value = Display;
dataadapter.SelectCommand.Parameters.Add( "@b" , SqlDbType.NChar,5 ).Value = value;
sqlconnection.Open();
dataset = new DataSet();
dataadapter.Fill( dataset , srcTable );
sqlconnection.Close();
combo.DataSource = dataset;
combo.DisplayMember = srcTable + "." + Display;
combo.ValueMember = srcTable + "." + value;
}
از داخل فرم اصلی، این متد رو فراخوانی میکنم
private void Form1_Load( object sender , EventArgs e )
{
DataAccess da = new DataAccess();
da.BindCombo( comboBox1 , "Customers" , "ContactName" , "CustomerID" );
//Select ContactName,CustomerID from customers
}
نمیدونم چرا نمیشه از پارامتر در SqlCommand استفاده کرد.
public void BindCombo(ComboBox combo , string srcTable , string Display , string value )
{
dataadapter.SelectCommand = new SqlCommand();
dataadapter.SelectCommand.Connection = sqlconnection;
dataadapter.SelectCommand.CommandText = "Select @a,@b from @c ";
dataadapter.SelectCommand.Parameters.Add( "@a" , SqlDbType.NVarChar,30 ).Value = Display;
dataadapter.SelectCommand.Parameters.Add( "@b" , SqlDbType.NChar,5 ).Value = value;
sqlconnection.Open();
dataset = new DataSet();
dataadapter.Fill( dataset , srcTable );
sqlconnection.Close();
combo.DataSource = dataset;
combo.DisplayMember = srcTable + "." + Display;
combo.ValueMember = srcTable + "." + value;
}
از داخل فرم اصلی، این متد رو فراخوانی میکنم
private void Form1_Load( object sender , EventArgs e )
{
DataAccess da = new DataAccess();
da.BindCombo( comboBox1 , "Customers" , "ContactName" , "CustomerID" );
//Select ContactName,CustomerID from customers
}
نمیدونم چرا نمیشه از پارامتر در SqlCommand استفاده کرد.