У меня небольшая проблема с выяснением этого. Я довольно новичок в C #, но мне кажется, что ответ на этот вопрос должен быть простым.
У меня есть форма, которая отображает данные, которые она извлекает из базы данных SQL. Пользователи могут открывать новое окно и добавлять новые записи в базу данных, и когда они нажимают OK, информация вставляется в базу данных, и окно закрывается.
Проблема в том, что как только это происходит, информация, отображаемая в главной форме, не отображает только что введенные данные. Я попытался добавить функцию, которая обновляет основную форму при отправке пользователем, но новая информация не будет отображаться.
Есть ли у кого-нибудь идеи о том, как получить недавно вставленные данные SQL для отображения в главной форме? Вот мой код для справки:
try
{
conn.Open();
SqlCommand myCommand = new SqlCommand("INSERT INTO customParts (part_num, date, customer, orig_call, vendor, vendor_pn, price, delivery, packaging, notes) VALUES (@partnum, @getdate, @cust, @callout, @vend, @vend_PN, @cost, @deliv, @pkging, @notes)", conn);
myCommand.Parameters.AddWithValue("@partnum", partnum);
myCommand.Parameters.AddWithValue("@getdate", getdate);
myCommand.Parameters.AddWithValue("@cust", cust);
myCommand.Parameters.AddWithValue("@vend", vend);
myCommand.Parameters.AddWithValue("@callout", callout);
myCommand.Parameters.AddWithValue("@vend_PN", vend_PN);
myCommand.Parameters.AddWithValue("@cost", cost);
myCommand.Parameters.AddWithValue("@deliv", deliv);
myCommand.Parameters.AddWithValue("@pkging", pkging);
myCommand.Parameters.AddWithValue("@notes", notes);
myCommand.ExecuteNonQuery();
}
catch (Exception ie)
{
MessageBox.Show(ie.Message);
}
finally
{
//Close the connection
conn.Close();
//Reload the main window to show new changes
mainForm firstForm;
firstForm = new mainForm();
//Close the window
this.Close();
}
Спасибо!
EDIT:
Я пытался добавить этот метод в основную форму:
public static void refreshThis()
{
Form mainForm = new mainForm();
mainForm.Refresh();
}
И называя это так:
finally
{
//Close the connection
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
mainForm.refreshThis();
this.Close();
}
Но это все еще не работает?