Я создал приложение, которое вставляет данные в базу данных SQL. В основном, из основной формы пользователи открывают вторую форму, которая запрашивает у них данные, которые будут поступать в базу данных. Код выглядит так:
private void submitButton_Click(object sender, EventArgs e)
{
//Get form values
try
{
//Open test connection
}
catch (Exception ex)
{
//Handle errors
}
finally
{
//Close test connection
}
//Run the SQL statements
try
{
//Inser SQL data
}
catch (Exception ie)
{
//Handle errors
}
finally
{
//Close the connection
if (conn.State != ConnectionState.Closed)
{
//Close the connection
}
//Close the window
this.Close();
//Tell the main form to reload SQL data (not working)
mainForm firstForm;
firstForm = new mainForm();
firstForm.refreshCall();
}
}
}
Таким образом, в основном, когда пользователь нажимает OK (submitButton), данные вставляются, окно закрывается и вызывается метод refreshCall()
. Мой метод "refreshCall
" должен обновить данные SQL, которые выводятся в основной форме, например:
public void refreshCall()
{
SqlConnection conn = new SqlConnection("Data Source=SERVER\\SQL_DB;Initial Catalog=dataTable;Integrated Security=True");
try
{
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT part_num from dbo.Parts", conn);
adapter.Fill(ds);
this.listParts.DataSource = ds.Tables[0];
this.listParts.DisplayMember = "part_num";
conn.Close();
}
catch (SqlException odbcEx)
{
MessageBox.Show("There was an error connecting to the data source.\nError Code: 1001", "Database Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Однако, когда этот метод вызывается, данные остаются не обновленными, что означает, что мне нужно закрыть приложение и перезагрузить его, чтобы увидеть мои изменения. Есть ли что-то, что я делаю неправильно в своем коде, что приводит к тому, что данные SQL остаются неизменными? Есть лучший способ сделать это? Следует также отметить, что я использую точно такой же код из refreshCall
для загрузки данных при инициализации формы, и она отлично работает.
Любая помощь приветствуется!