private void button1_Click(object sender, EventArgs e) { try { //Объявляем новые переменные и считываем в них коды с элементов формы int ryad = dataGridView1.CurrentCell.RowIndex; string kodlic = dataGridView1[1, ryad].Value.ToString(); string fio = dataGridView1[2, ryad].Value.ToString(); string kodusl = dataGridView1[3, ryad].Value.ToString(); string kodpostav = dataGridView1[4, ryad].Value.ToString(); float razmer = float.Parse(dataGridView1[5, ryad].Value.ToString()); string koded = dataGridView1[6, ryad].Value.ToString(); float summ = float.Parse(dataGridView1[7, ryad].Value.ToString()); float oplacheno = float.Parse(textBox3.Text); string kodsotr = comboBox1.SelectedValue.ToString(); myConnection = new SqlConnection(); //создаем новое соединение с сервером myConnection.ConnectionString = "integrated security=SSPI;data source=\".\"; persist security info=False; initial catalog=ОплатаСчетов"; myConnection.Open(); //запускаем соединение SqlCommand myCommand = myConnection.CreateCommand(); //создаем комманду myCommand.CommandText = //вносим "INSERT INTO [Журнал регистрации оплаты]([Код_плательщика],[ФИО_плательщика]," + "[Код_услуги],[Код_поставщика_услуг],[Код_единицы_измерения],[Размер_услуги],[Сумма_к_оплате],[Оплачено],[Код_сотрудника],[Дата_платежа]," + "[Время_платежа]) VALUES (" + kodlic + ",'" + fio + "'," + kodusl + "," + kodpostav + "," + koded + ",@razmer,@summ,@oplacheno," + kodsotr + ",'" + dateTimePicker1.Value + "','" + dateTimePicker1.Value + "');"; //"," + kodlica + ",'" + fio + "'," + kodusl + "," + kodpost + ",@razmer, " + koded + ",@summa," + kodsotr + ",'" + dateTimePicker1.Value.ToString("M/dd/yyyy") + "','" + dateTimePicker1.Value + "');"; myCommand.Parameters.Add("@razmer", SqlDbType.Float, 3); myCommand.Parameters["@razmer"].Value = razmer; myCommand.Parameters.Add("@summ", SqlDbType.Float, 3); myCommand.Parameters["@summ"].Value = summ; myCommand.Parameters.Add("@oplacheno", SqlDbType.Float, 3); myCommand.Parameters["@oplacheno"].Value = oplacheno; int ALLISOK = myCommand.ExecuteNonQuery(); if (ALLISOK != 0) { MessageBox.Show("Счет выставлен", "Запись в журнале", MessageBoxButtons.OK, MessageBoxIcon.Information); this.tableAdapterManager.UpdateAll(this.оплатаСчетовDataSet); J_oplat fr = new J_oplat(); fr.Show(); } else { MessageBox.Show("Не удалось внести изменения", "Изменение записи"); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { myConnection.Close(); } try //если счет оплачен полностью то удалить запись в журнале начисленной суммы , иначе изменить в записи сумму, дату и время { int b = dataGridView1.CurrentCell.RowIndex; //номер ряда у текущей выбранной ячейки string nom_kvit = dataGridView1[0, b].Value.ToString(); //выясняем номер записи квитанции в журнале фактически начисленнной суммы myConnection3.ConnectionString = "integrated security=SSPI;data source=\".\"; persist security info=False; initial catalog=ОплатаСчетов"; if (textBox2.Text == textBox3.Text) { myConnection3.Open(); //запускаем соединение SqlCommand myCommand5 = myConnection3.CreateCommand(); //создаем комманду myCommand5.CommandText = "DELETE FROM [Журнал фактически начисленной суммы] WHERE [Номер записи]=" + nom_kvit; int OK = myCommand5.ExecuteNonQuery(); if (OK != 0) { MessageBox.Show("Запись о выставленном счете удалена из 'Журнал фактически начисленной суммы'", "Квитанция оплачена полностью"); this.tableAdapterManager.UpdateAll(this.оплатаСчетовDataSet); J_fact fr = new J_fact(); fr.Show(); } } else if (textBox2.Text != textBox3.Text && textBox2 != null) { float newsum1 = float.Parse(textBox2.Text); float newsum2 = float.Parse(textBox3.Text); float newsum = newsum1 - newsum2; myConnection3.Open(); //запускаем соединение SqlCommand myCommand5 = myConnection3.CreateCommand(); //создаем комманду myCommand5.CommandText = "UPDATE [Журнал фактически начисленной суммы] SET [Сумма к оплате]=@newsum," + "[Дата формирования квитанции]='" + dateTimePicker1.Value + "',[Время формирования квитанции]='" + dateTimePicker2.Value + "' WHERE [Номер записи]=" + nom_kvit; myCommand5.Parameters.Add("@newsum", SqlDbType.Float, 3); myCommand5.Parameters["@newsum"].Value = newsum; int OK = myCommand5.ExecuteNonQuery(); if (OK != 0) { MessageBox.Show("Запись о выставленном счете изменена", "Журнал начисленной суммы"); this.tableAdapterManager.UpdateAll(this.оплатаСчетовDataSet); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { myConnection3.Close(); } }
private void журналРегистрацииОплатToolStripMenuItem_Click(object sender, EventArgs e) { J_oplat fr = new J_oplat(); fr.Show(); }