Как вставить значения из нескольких форм в одну строку в базе данных SQL - PullRequest
0 голосов
/ 16 июня 2019

По сути, у меня есть несколько форм, где данные будут сохраняться в базе данных SQL Servre. A datatable отобразит скомпилированные данные. Однако, поскольку я сохранил данные в одну и ту же database из двух разных форм, таблица данных будет иметь две строки (см. [Скриншот]). И из-за моей ситуации я должен допустить нулевые значения для моих данных.

Следовательно, как я могу сохранить несколько значений из разных forms в одну строку в базе данных SQL Server? Надеюсь, что это возможно. Ниже мой код:

Форма 1

private void Bnext_Click(object sender, EventArgs e)
{
  //Do SQL for Inspecdate
  string mainconn = ConfigurationManager.ConnectionStrings["Delivery_Inspection.Properties.Settings.SavertbConnectionString"].ConnectionString;
  SqlConnection sqlconn = new SqlConnection(mainconn);
  sqlconn.Open();
  string Dateinspect = DateTime.Parse(DTinspec.Text).ToString("dd/MM/yyyy");
  SqlCommand cmd = new SqlCommand("insert into Rtbdata(Inspectiondate) values ('" + Dateinspect + "' )", sqlconn);
    int i = cmd.ExecuteNonQuery();
    if (i != 0)
       {
        MessageBox.Show("Saved");
       }
    else
       {
        MessageBox.Show("Error");
       }

    sqlconn.Close();
    this.Hide();
    FormsCollection.autodataset.Show();
    }

Форма 2 - То же, что и выше, за исключением кода ниже

SqlCommand cmd = new SqlCommand("insert into Rtbdata(Vehnum) values ('" + TBvehicleno.Text + "')", sqlconn);

this.Hide();
FormsCollection.datatable.Show();

1 Ответ

0 голосов
/ 16 июня 2019

Предполагая, что вы гарантировали, что у вас может быть только один экземпляр Form1 и один экземпляр Form2, открытый одновременно, вам просто нужно объединить два оператора вставки в один, принимая значения из обеих форм одновременно. «Другая» форма (т. Е. Form2, если вы реагируете на событие click в Form1 и наоборот) доступна через коллекцию Forms. Также, пожалуйста, исследуйте SQL-инъекцию. Ваш код очень уязвим. Используйте параметры для ваших вставок. Это также позволит вам добавлять даты как типы дат, а не как строки. Наконец, пожалуйста, оберните ваши SqlConnections в использование блоков. На этом сайте вы найдете множество примеров всех этих пунктов, с небольшим исследованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...