コード例 #1
0
ファイル: Base.cs プロジェクト: bernofx/PcmWork
        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());
        }
コード例 #2
0
ファイル: Base.cs プロジェクト: bernofx/PcmWork
        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);
        }
コード例 #3
0
 public Form1(_FunzioniBase.Ritorno rt)
 {
     InitializeComponent();
     est.rt = rt;
 }
コード例 #4
0
ファイル: Base.cs プロジェクト: bernofx/PcmWork
        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);
        }