예제 #1
0
        public static string Gravar(TList_FichaTec_MPrima val, BancoDados.TObjetoBanco banco)
        {
            bool st_transacao = false;

            try
            {
                if (banco == null)
                {
                    banco = new BancoDados.TObjetoBanco();
                    banco.CriarObjetosBanco(Parametros.pubLogin, Parametros.pubNM_Servidor, Parametros.pubNM_BancoDados);
                    banco.Conexao.Open();
                    banco.Start_Tran(IsolationLevel.ReadCommitted);
                    banco.Comando.Transaction = banco.Transac;
                    st_transacao = true;
                }
                string retorno = string.Empty;
                val.ForEach(p => retorno += Gravar(p, banco));
                if (st_transacao)
                {
                    banco.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    banco.RollBack_Tran();
                }
                throw new Exception("Erro gravar ficha tecnica: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    if (banco.Conexao.State == ConnectionState.Open)
                    {
                        banco.Conexao.Close();
                    }
                    banco = null;
                }
            }
        }
예제 #2
0
        public DataTable BuscarSQL(string SQL)
        {
            BancoDados.TObjetoBanco pBanco_Dados = null;
            bool pode_liberar = false;

            if (pBanco_Dados == null)
            {
                pode_liberar = true;
                pBanco_Dados = new BancoDados.TObjetoBanco();
                pBanco_Dados.CriarObjetosBanco(Utils.Parametros.pubLogin, Utils.Parametros.pubNM_Servidor, Utils.Parametros.pubNM_BancoDados);
                pBanco_Dados.Comando.CommandType = CommandType.Text;
                pBanco_Dados.Comando.CommandText = SQL;
                pBanco_Dados.Conexao.Open();
            }
            try
            {
                //if (Parametros != null)
                //    pBanco_Dados.preencherParametrosBusca(Parametros);
                DataTable dt = new DataTable();
                if (SQL.ToUpper().Contains("SELECT"))
                {
                    pBanco_Dados.Adapter.Fill(dt);
                }
                else
                {
                    //   tamanho = Convert.ToInt32(pBanco_Dados.Comando.);
                    // retorna o numero de registros afetados
                    tamanho = pBanco_Dados.Comando.ExecuteNonQuery();
                }
                return(dt);
            }
            finally
            {
                if (pode_liberar)
                {
                    pBanco_Dados.Conexao.Close();
                    pBanco_Dados = null;
                }
            }
        }