سلام
وقتی برای یک کمبو باکس دیتا سورس تعیین کنیم، چطور می توانیم عناصر داخل آنرا پاک کنیم؟
مثلا وقتی که از داخل همین کمبو باکس مقداری را در پایگاه اینسرت کرده باشیم. هم مقادیر قبلی به صورت تکراری داخل کمبو باکس دیه می شوند. ضمن این که کد comboBox1.DataSource = null کارایی نداره. یعنی فقط خالی می کنه و هیچ عنصری داخل کمبو باکس دیده نمی شه. این کد من برای دریافت مقادیر به داخل کمبو باکس هست::
public void ComboBox_Update()
{
//-------------------آپدیت کمبو باکس ها--------------------
String ConnectioString = @"Data Source=localhost;Initial Catalog=Library_Talebpur;Integrated Security=True";
SqlConnection SqlConnection1 = new SqlConnection(ConnectioString);
SqlCommand SqlCommand1 = SqlConnection1.CreateCommand();
SqlCommand1.CommandType = CommandType.Text;
SqlCommand1.CommandText = "SELECT ID, SubjectTitle FROM Subject";
SqlDataAdapter1 = new SqlDataAdapter(SqlCommand1);
SqlDataAdapter1.Fill(DataSet1, "Subject");
comboBox1.DataSource = DataSet1.Tables["Subject"];
comboBox1.DisplayMember = "SubjectTitle";
}
این هم کد اضافه کردن:
SqlConnection connection = new SqlConnection();
SqlCommand command = new SqlCommand();
connection.ConnectionString = @"Data Source=Localhost; Initial Catalog=Library_Talebpur;Integrated Security=SSPI";
command.Connection = connection;
command.CommandText = "INSERT INTO Subject (SubjectTitle) VALUES (@SubjectTitle)";
command.Parameters.AddWithValue("@SubjectTitle", cbSubject.Text);
try
{
connection.Open();
int result = command.ExecuteNonQuery();
if (result > 0)
{
MessageBox.Show("Student successfully added!");
comboBox1.DataSource = null;
}
else
MessageBox.Show("Failed to add student!");
}
catch (SqlException ex)
{
MessageBox.Show("An error has occured!");
}
finally
{
connection.Close();
}