private void button1_Click(object sender, EventArgs e) { Connect_to_sql conn = new Connect_to_sql(); Connect_to_sql.AgroNewRaschet new_ras = new Connect_to_sql.AgroNewRaschet(); string connect_string = conn.Con_str(); new_ras.date = dateTimePicker1.Value; new_ras.name_polya = comboBox1.Text; new_ras.sloj0_5 = checkBox2.Checked; new_ras.marshrut = checkBox1.Checked; int kod_polya = conn.AddNewRaschet(new_ras, connect_string); string query = "SELECT kod FROM t_Glavnaya WHERE kod_Polya="+kod_polya+" AND Date='"+new_ras.date.Date+"'"; new_ras.Glav_ID = conn.ExecQueryWithResult(connect_string, query); Form1 f_glavn = (Form1)this.Owner; f_glavn.StartRaschet(true); f_glavn.SetCurPole(comboBox1.Text, dateTimePicker1.Value.ToShortDateString()); f_glavn.ras_param = new_ras; f_glavn.SetSloj0_5(new_ras.sloj0_5); f_glavn.comboBox1.Items.Clear(); f_glavn.comboBox1.Items.Add(1); Close(); }
private void button1_Click(object sender, EventArgs e) { int ind_selRow = dataGridView1.CurrentRow.Index; Connect_to_sql.AgroNewRaschet edit_ras = new Connect_to_sql.AgroNewRaschet(); int id_glav =Convert.ToInt32(dataGridView1[0, ind_selRow].Value); Connect_to_sql conn = new Connect_to_sql(); string connect_string = conn.Con_str(); SqlConnection myConnection = new SqlConnection(connect_string); string myInsertQuery = "SELECT t_Glavnaya.Date, t_Glavnaya.Kod_Polya, t_Naz_poley.Ima_polya, t_Glavnaya.Kod_Sred, t_Glavnaya.Progress, t_Glavnaya.sloj0_5, " +"t_Glavnaya.marshrut " +"FROM t_Glavnaya INNER JOIN " +"t_Naz_poley ON t_Glavnaya.Kod_Polya = t_Naz_poley.kod_polya " +"WHERE (t_Glavnaya.Kod ="+ id_glav +")"; SqlCommand myCommand = new SqlCommand(myInsertQuery); myCommand.Connection = myConnection; myConnection.Open(); SqlDataReader reader = myCommand.ExecuteReader(); while (reader.Read()) { edit_ras.date =Convert.ToDateTime(reader[0]); edit_ras.kod_polya = Convert.ToInt32(reader[1]); edit_ras.name_polya = Convert.ToString(reader[2]); if ((reader[3]).ToString()!="") { edit_ras.kod_sred = Convert.ToInt32(reader[3]); } else edit_ras.kod_sred = -1; edit_ras.progress = Convert.ToInt32(reader[4]); edit_ras.sloj0_5 = Convert.ToBoolean(reader[5]); edit_ras.marshrut = Convert.ToBoolean(reader[6]); edit_ras.Glav_ID = id_glav; } myCommand.Connection.Close(); Form1 glForm = (Form1)this.Owner; glForm.ras_param = edit_ras; glForm.StartRaschet(true); glForm.comboBox1.Items.Clear(); glForm.button3_Click(null, EventArgs.Empty); if (!edit_ras.marshrut) { if (edit_ras.progress < 4) { for (int i = 1; i <= edit_ras.progress + 1; i++) { glForm.comboBox1.Items.Add(i); } } else { for (int i = 1; i <= edit_ras.progress; i++) { glForm.comboBox1.Items.Add(i); } } } else { if (edit_ras.progress < 2) { for (int i = 1; i <= edit_ras.progress + 1; i++) { glForm.comboBox1.Items.Add(i); } } else { for (int i = 1; i <= edit_ras.progress; i++) { glForm.comboBox1.Items.Add(i); } } } glForm.SetCurPole(edit_ras.name_polya, edit_ras.date.ToShortDateString()); glForm.SetSloj0_5(edit_ras.sloj0_5); glForm.SetDataToTextBoxSredn(); Close(); }
private void button1_Click(object sender, EventArgs e) { int ind_selRow = dataGridView1.CurrentRow.Index; Connect_to_sql.AgroNewRaschet edit_ras = new Connect_to_sql.AgroNewRaschet(); int id_glav = Convert.ToInt32(dataGridView1[0, ind_selRow].Value); Connect_to_sql conn = new Connect_to_sql(); string connect_string = conn.Con_str(); SqlConnection myConnection = new SqlConnection(connect_string); string myInsertQuery = "SELECT t_Glavnaya.Date, t_Glavnaya.Kod_Polya, t_Naz_poley.Ima_polya, t_Glavnaya.Kod_Sred, t_Glavnaya.Progress, t_Glavnaya.sloj0_5, " + "t_Glavnaya.marshrut " + "FROM t_Glavnaya INNER JOIN " + "t_Naz_poley ON t_Glavnaya.Kod_Polya = t_Naz_poley.kod_polya " + "WHERE (t_Glavnaya.Kod =" + id_glav + ")"; SqlCommand myCommand = new SqlCommand(myInsertQuery); myCommand.Connection = myConnection; myConnection.Open(); SqlDataReader reader = myCommand.ExecuteReader(); while (reader.Read()) { edit_ras.date = Convert.ToDateTime(reader[0]); edit_ras.kod_polya = Convert.ToInt32(reader[1]); edit_ras.name_polya = Convert.ToString(reader[2]); if ((reader[3]).ToString() != "") { edit_ras.kod_sred = Convert.ToInt32(reader[3]); } else edit_ras.kod_sred = -1; edit_ras.progress = Convert.ToInt32(reader[4]); edit_ras.sloj0_5 = Convert.ToBoolean(reader[5]); edit_ras.marshrut = Convert.ToBoolean(reader[6]); edit_ras.Glav_ID = id_glav; } myCommand.Connection.Close(); Excel.Workbooks excelappworkbooks; Excel.Workbook excelappworkbook; Excel.Application appl = new Excel.Application(); appl.Visible = false; appl.SheetsInNewWorkbook = edit_ras.progress+1; appl.Workbooks.Add(Type.Missing); Excel.Sheets excelsheets; Excel.Worksheet excelworksheet; Excel.Range excelcells; excelappworkbooks = appl.Workbooks; excelappworkbook = excelappworkbooks[1]; excelsheets = excelappworkbook.Worksheets; string[] polya = {"Слой почвы см", "Масса влажной почвы\n и стаканчика", "Масса сухой почвы\n и стаканчика", "Масса стаканчиков", "Масса испарившейся\n воды", "Масса сухой почвы\n без стаканчика", "Влажность почвы %", "Масса влажной почвы\n без стаканчика"}; for (int j = 1; j <= edit_ras.progress; j++) { int sl = 0; Connect_to_sql.AgroDataPovt[] agro_data = new Connect_to_sql.AgroDataPovt[11]; excelworksheet = (Excel.Worksheet)excelsheets.get_Item(j); excelcells = excelworksheet.get_Range("A1", "H4"); excelcells.Merge(Type.Missing); excelcells.Font.Bold = true; excelcells.Font.Size = 15; excelcells.Borders.Weight = 3; excelcells.Borders.Value = 1; excelcells.HorizontalAlignment = Excel.Constants.xlCenter; excelcells.VerticalAlignment = Excel.Constants.xlCenter; excelcells.Value2 = "Отчет по " + j.ToString() + "й повторности\n Дата:" + edit_ras.date.ToLongDateString(); if(edit_ras.sloj0_5) excelcells = excelworksheet.get_Range("A7", "H17"); else excelcells = excelworksheet.get_Range("A7", "H16"); excelcells.HorizontalAlignment = Excel.Constants.xlCenter; excelcells.VerticalAlignment = Excel.Constants.xlCenter; excelcells.Borders.Weight = 2; excelcells.Borders.Value = 1; for (int i = 1; i < 9; i++) { excelcells = (Excel.Range)excelworksheet.Cells[6, i]; excelcells.Borders.Weight = 2; excelcells.Orientation = 90; excelcells.HorizontalAlignment = Excel.Constants.xlCenter; excelcells.VerticalAlignment = Excel.Constants.xlCenter; excelcells.Font.Size = 9; excelcells.NumberFormat = "@"; excelcells.Borders.Value = 1; excelcells.Value2 = polya[i - 1]; } bool tr = false; int col; if (edit_ras.sloj0_5) col = 0; else col = 1; string query_ifex = "SELECT kod_data FROM t_data_povt WHERE kod_Glavn=" + edit_ras.Glav_ID + " AND povtornost=" + j; int ifexist = conn.ExecQueryWithResult(connect_string, query_ifex); if (ifexist != -1) { int kod_st; //неиспользуемае переменная, нужна для работы функции agro_data = conn.SelectFromDataPovt(edit_ras.Glav_ID, j,out kod_st, connect_string); for (int i = col; i < 11; i++) { if (i == 0) { excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 1]; excelcells.NumberFormat = "@"; excelcells.Value2 = sl.ToString() + " - " + (sl + 5).ToString(); sl += 5; tr = true; } else { excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 1]; excelcells.NumberFormat = "@"; if (tr) { excelcells.Value2 = sl.ToString() + " - " + (sl + 5).ToString(); sl += 5; tr = false; } else { excelcells.Value2 = sl.ToString() + " - " + (sl + 10).ToString(); sl += 10; } } excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 2]; excelcells.Value2 = conn.ConvertFloatToString(agro_data[i].ves_vlazhnoj); excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 3]; excelcells.Value2 = conn.ConvertFloatToString(agro_data[i].ves_suhoj); excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 4]; excelcells.Value2 = conn.ConvertFloatToString(agro_data[i].ves_stakan); excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 5]; excelcells.Value2 = conn.ConvertFloatToString(agro_data[i].vlazhn_suhaya); excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 6]; excelcells.Value2 = conn.ConvertFloatToString(agro_data[i].suhaya_stakan); excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 7]; excelcells.Value2 = conn.ConvertFloatToString(agro_data[i].procent_isparivsh_vlagi); excelcells = (Excel.Range)excelworksheet.Cells[i + 7 - col, 8]; excelcells.Value2 = conn.ConvertFloatToString(agro_data[i].vlazhnaya_stakan); } } } if (edit_ras.kod_sred != -1) { int kod_sred; Connect_to_sql.AgroDataSredn[] agro_sred = conn.SelectDataFromDataSredn(edit_ras.kod_sred,edit_ras.sloj0_5,out kod_sred,connect_string); excelworksheet = (Excel.Worksheet)excelsheets.get_Item(edit_ras.progress+1); string name_r = ""; myConnection = new SqlConnection(connect_string); myInsertQuery = "SELECT * FROM t_razrez WHERE kod_razrez=" + kod_sred; myCommand = new SqlCommand(myInsertQuery); myCommand.Connection = myConnection; myConnection.Open(); reader = myCommand.ExecuteReader(); //Connect_to_sql.AgroRazrez[] raz = new Connect_to_sql.AgroRazrez[11]; int ii = 0; string[,] raz = new string[2,11]; while (reader.Read()) { name_r = reader[1].ToString(); for (int i = 2; i < 13; i++) { raz[0,ii] = reader[i].ToString(); ii++; } ii = 0; for (int i = 13; i < 24; i++) { raz[1, ii] = reader[i].ToString(); ii++; } } myCommand.Connection.Close(); string[] polya_2 = {"Слой","Объемная масса почвы", "Влажность устойчивого\nзавядание", "Расчитанная влажность\n%","Запасы влаги\nв мм.", "Запасы влаги\nнарастающим итогом"}; int sl = 0; if(edit_ras.sloj0_5) excelcells = excelworksheet.get_Range("A1", "L3"); else excelcells = excelworksheet.get_Range("A1", "K3"); excelcells.Merge(Type.Missing); excelcells.Font.Bold = true; excelcells.Font.Size = 15; excelcells.Borders.Weight = 3; excelcells.Borders.Value = 1; excelcells.HorizontalAlignment = Excel.Constants.xlCenter; excelcells.VerticalAlignment = Excel.Constants.xlCenter; excelcells.Value2 = "Отчет по по запасам влаги, на " + edit_ras.date.ToLongDateString(); if(edit_ras.sloj0_5) excelcells = excelworksheet.get_Range("A4", "L9"); else excelcells = excelworksheet.get_Range("A4", "K9"); excelcells.HorizontalAlignment = Excel.Constants.xlCenter; excelcells.VerticalAlignment = Excel.Constants.xlCenter; excelcells.Borders.Weight = 2; excelcells.Borders.Value = 1; for (int i = 4; i < 10; i++) { excelcells = (Excel.Range)excelworksheet.Cells[i, 1]; excelcells.Borders.Weight = 2; //excelcells.Orientation = 90; excelcells.HorizontalAlignment = Excel.Constants.xlLeft; excelcells.VerticalAlignment = Excel.Constants.xlCenter; excelcells.Font.Size = 9; excelcells.NumberFormat = "@"; excelcells.Borders.Value = 1; excelcells.Value2 = polya_2[i - 4]; excelcells.ColumnWidth = 20; } bool tr = false; int col; if (edit_ras.sloj0_5) col = 0; else col = 1; for (int i = col; i < 11; i++) { if (i == 0) { excelcells = (Excel.Range)excelworksheet.Cells[4,i + 2 - col]; excelcells.NumberFormat = "@"; excelcells.Value2 = sl.ToString() + " - " + (sl + 5).ToString(); sl += 5; tr = true; } else { excelcells = (Excel.Range)excelworksheet.Cells[4,i + 2 - col]; excelcells.NumberFormat = "@"; if (tr) { excelcells.Value2 = sl.ToString() + " - " + (sl + 5).ToString(); sl += 5; tr = false; } else { excelcells.Value2 = sl.ToString() + " - " + (sl + 10).ToString(); sl += 10; } } excelcells = (Excel.Range)excelworksheet.Cells[5, i + 2 - col]; excelcells.Value2 = raz[0, i]; excelcells = (Excel.Range)excelworksheet.Cells[6, i + 2 - col]; excelcells.Value2 = raz[1, i]; excelcells = (Excel.Range)excelworksheet.Cells[7, i + 2 - col]; excelcells.Value2 = conn.ConvertFloatToString(agro_sred[i].stroka3); excelcells = (Excel.Range)excelworksheet.Cells[8, i + 2 - col]; excelcells.Value2 = conn.ConvertFloatToString(agro_sred[i].stroka4); excelcells = (Excel.Range)excelworksheet.Cells[9, i + 2 - col]; excelcells.Value2 = conn.ConvertFloatToString(agro_sred[i].stroka5); } float[] val = new float[10]; for (int k = 0; k < 10; k++) { val[k] = agro_sred[k+1].stroka5; } Form1 f_owner = (Form1)this.Owner; string[] step_t = new string[7]; step_t[0] = "Почвенная засуха сильная"; step_t[1] = "Почвенная засуха слабая"; step_t[2] = "Недостаточное увлажнение сильное"; step_t[3] = "Недостаточное увлажнение слабое"; step_t[4] = "Оптимальное увлажнение"; step_t[5] = "Избыточное увлажнение"; step_t[6] = "Заболачивание"; Connect_to_sql.ResultStepUvl[] res_step = conn.GetResultStepUvl(val, name_r, connect_string); for (int k = 12; k < 17; k++) { for (int p = 1; p < 9; p++) { excelcells = (Excel.Range)excelworksheet.Cells[k, p]; excelcells.Merge(Type.Missing); excelcells.Font.Bold = true; excelcells.Font.Size = 10; excelcells.Borders.Weight = 2; excelcells.Borders.Value = 1; excelcells.HorizontalAlignment = Excel.Constants.xlLeft; excelcells.VerticalAlignment = Excel.Constants.xlCenter; } } excelcells = excelworksheet.get_Range("A11", "h12"); excelcells.Merge(Type.Missing); excelcells.Font.Bold = true; excelcells.Font.Size = 15; excelcells.Borders.Weight = 3; excelcells.Borders.Value = 1; excelcells.HorizontalAlignment = Excel.Constants.xlCenter; excelcells.VerticalAlignment = Excel.Constants.xlCenter; excelcells.Value2 = "Степень увлажнения почвы по слоям"; excelcells = excelworksheet.get_Range("a13", "b13"); excelcells.Merge(Type.Missing); excelcells.Value2 = "Слой 0-10"; excelcells = excelworksheet.get_Range("c13", "h13"); excelcells.Merge(Type.Missing); excelcells.Value2 = step_t[res_step[0].znachenie]; excelcells = excelworksheet.get_Range("a14", "b14"); excelcells.Merge(Type.Missing); excelcells.Value2 = "Слой 0-20"; excelcells = excelworksheet.get_Range("c14", "h14"); excelcells.Merge(Type.Missing); excelcells.Value2 = step_t[res_step[1].znachenie]; excelcells = excelworksheet.get_Range("a15", "b15"); excelcells.Merge(Type.Missing); excelcells.Value2 = "Слой 0-50"; excelcells = excelworksheet.get_Range("c15", "h15"); excelcells.Merge(Type.Missing); excelcells.Value2 = step_t[res_step[4].znachenie]; excelcells = excelworksheet.get_Range("a16", "b16"); excelcells.Merge(Type.Missing); excelcells.Value2 = "Слой 0-100"; excelcells = excelworksheet.get_Range("c16", "h16"); excelcells.Merge(Type.Missing); excelcells.Value2 = step_t[res_step[9].znachenie]; } appl.Visible = true; }