Это форма отправки данных в БД MSSQL
public partial class Form2 : Form
{
DateTime localeDate = DateTime.Now;
string connstr = WindowsFormsApp3.Utility.GetConnectionString();
public static event Action DataChanged;
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(connstr);
SqlCommand cmd = new SqlCommand("add.NewOrd", conn);
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"INSERT INTO Zakaz(Phone,Adres,Tarif,Kol_pas,Koment,Ord_time)
VALUES(@phone,@adres,@tarif,@kol_pas,@koment,@ord_time)";
cmd.Parameters.AddWithValue("@ord_time", localeDate);
cmd.Parameters.AddWithValue("@phone", tbPhone.Text);
cmd.Parameters.AddWithValue("@adres", tbAdr.Text);
cmd.Parameters.AddWithValue("@tarif", cbTarif.SelectedItem);
cmd.Parameters.AddWithValue("@kol_pas", cbKol.SelectedItem);
cmd.Parameters.AddWithValue("@koment", tbKom.Text);
tA953XIDataSet.AcceptChanges();
if (DataChanged != null)
DataChanged();
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch(SqlException x)
{
MessageBox.Show(x.Message.ToString(), "Error Message");
}
finally
{
conn.Close();
}
}
"Это главная форма она должна обновить дата грид но она обновляется лишь после 2 клика на кнопку. При этом добавляется новая строка в БД но она тоже не отображается до 2 клика.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Form2.DataChanged += UpdateGrid;
label1.Text = "";
timer1.Enabled = true;
timer1.Interval = 1000;
}
private void UpdateGrid()
{
this.zakazTableAdapter.Fill(this.tA953XIDataSet.Zakaz);
dgNewOrd.DataSource = tA953XIDataSet;
dgNewOrd.DataMember = "Zakaz";
dgNewOrd.Refresh();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Form2.DataChanged -= UpdateGrid;
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу
"tA953XIDataSet.Zakaz". При необходимости она может быть перемещена или удалена.
this.zakazTableAdapter.Fill(this.tA953XIDataSet.Zakaz);
timer1.Enabled = true;
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости