private static void AggiungiTabella(Ritorno rit, _FunzioniBase.Tabella Tab) { if ((Tab.Name == "brn_Msg")) { rit.OrganizzaMessaggi(Tab.GetDataTable()); return; } if ((Tab.Name == "brn_Ret")) { rit.Ret = Tab.GetDataTable(); return; } rit.Tabelle.Add(Tab.GetDataTable()); }
public void Query(Ritorno rt, String TableName, String Query, params object[] Parametri) { DataTable Ris = new DataTable(); int i = Parametri.Length; if (i % 2 == 0) { SqlCommand creaTabMex = new SqlCommand(_FunzioniBase.Properties.Resources.SqlCreaTabMex, cnn, Tran); creaTabMex.ExecuteNonQuery(); SqlDataReader reader; SqlCommand comando = new SqlCommand(Query, cnn, Tran); for (int k = 0; k < i; k = k + 2) { comando.Parameters.AddWithValue(Parametri[k].ToString(), Parametri[k + 1]); } reader = comando.ExecuteReader(); Ris.Load(reader); SqlCommand LeggiTabMex = new SqlCommand(_FunzioniBase.Properties.Resources.SqlLeggiMex, cnn, Tran); SqlDataReader MsgReader; MsgReader = LeggiTabMex.ExecuteReader(); DataTable Mex = new DataTable(); Mex.Load(MsgReader); rt.OrganizzaMessaggi(Mex); SqlCommand dropTabMex = new SqlCommand(_FunzioniBase.Properties.Resources.SqlDropMex, cnn, Tran); dropTabMex.ExecuteNonQuery(); } Ris.TableName = TableName; rt.Tabelle.Add(Ris); }
public Form1(_FunzioniBase.Ritorno rt) { InitializeComponent(); est.rt = rt; }
public Ritorno RunProcedure(List <Tabella> Par) { Ritorno rit = new Ritorno(); BeginTransaction(); try { SqlCommand creaTabMex = new SqlCommand(_FunzioniBase.Properties.Resources.SqlCreaTabMex, cnn, Tran); SqlCommand creaTabTemp = new SqlCommand(_FunzioniBase.Properties.Resources.SqlCreaTabTemp, cnn, Tran); creaTabMex.ExecuteNonQuery(); creaTabTemp.ExecuteNonQuery(); SqlCommand insertInput = new SqlCommand("INSERT INTO #brn_input (Name,Data) Values (@Name,@Data)", cnn, Tran); foreach (Tabella t in Par) { insertInput.Parameters.Clear(); insertInput.Parameters.AddWithValue("@Name", t.Name); insertInput.Parameters.AddWithValue("@Data", t.Struct); insertInput.ExecuteNonQuery(); foreach (String s in t.Data.Split(new char[] { '\n' })) { insertInput.Parameters["@Data"].Value = s; insertInput.ExecuteNonQuery(); } } SqlCommand EseguiAzione = new SqlCommand("EXEC brn_sp_Azione", cnn, Tran); EseguiAzione.ExecuteNonQuery(); SqlCommand LeggiTabTemp = new SqlCommand(_FunzioniBase.Properties.Resources.SqlLeggiTabTemp, cnn, Tran); SqlDataReader reader = LeggiTabTemp.ExecuteReader(); DataTable ris = new DataTable(); ris.Load(reader); String NomeTabella = ""; _FunzioniBase.Tabella Tab = new Tabella(); foreach (DataRow dr in ris.Rows) { if (!(dr["Name"].ToString() == NomeTabella)) //se è una nuova tabella { if (Tab.Data.Length > 0) { Tab.Data.Substring(0, Tab.Data.Length - 1); } if (!(NomeTabella == "")) { AggiungiTabella(rit, Tab); } Tab = new Tabella(); Tab.Name = dr["Name"].ToString(); Tab.Struct = dr["Data"].ToString(); NomeTabella = dr["Name"].ToString(); } else { Tab.Data += dr["Data"].ToString() + '\n'; } } if (Tab.Data.Length > 0) { Tab.Data.Substring(0, Tab.Data.Length - 1); } AggiungiTabella(rit, Tab); SqlCommand DropTabTemp = new SqlCommand(_FunzioniBase.Properties.Resources.SqlDropTabTemp, cnn, Tran); } catch (Exception ex) { rit = new Ritorno(); rit.Errori.Add(ex.Message); } finally { if ((rit.Errori.Count == 0)) { if ((GetArg(Par, "IgnoraAvvisi") == "1")) { rit.Avvisi.Clear(); } if ((rit.Avvisi.Count == 0)) { CommitTransaction(); } else { RollbackTransaction(); } } else { RollbackTransaction(); } } return(rit); }