Skip to content

Instantly share code, notes, and snippets.

@MirandinhaKL
Last active October 10, 2019 12:39
Show Gist options
  • Save MirandinhaKL/9dff1eee30e5799e3be2e927f2d7202b to your computer and use it in GitHub Desktop.
Save MirandinhaKL/9dff1eee30e5799e3be2e927f2d7202b to your computer and use it in GitHub Desktop.
Update Oracle C#
public class Conexao_Banco
{
public string string_conexao;
/// <summary>
/// Utiliza a Connection String informada em App.config para estabelecer a conexão com o banco de dados.
/// </summary>
public Conexao_Banco()
{
string_conexao = System.Configuration.ConfigurationManager.ConnectionStrings["conexao_banco"].ConnectionString;
}
}
//Colocar no arquivo App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<connectionStrings>
<add
name="conexao_banco"
connectionString="Server=localhost;Port=5432;Database=hs_consorcios;User Id=postgres; Password=postgres" />
</connectionStrings>
</configuration>
/// <summary>
/// Insere um cliente no banco de dados.
/// </summary>
public string adiciona_cliente(string nome, string sobrenome, string endereco, string cidade,
string telefone1, string telefone2, string email, DateTime nascimeto, DateTime cadastro,
string cpf_vendedor)
{
try
{
Conexao nova_conexao = new Conexao();
using (NpgsqlConnection conexao = new NpgsqlConnection(nova_conexao.string_conexao))
{
conexao.Open();
NpgsqlCommand comando = conexao.CreateCommand();
comando.CommandText = "INSERT INTO cliente VALUES (@codigo_cliente, @nome_cliente, " +
"@sobrenome_cliente, @endereco, @cidade, @telefone1, @telefone2, @email, " +
"@data_nascimento, @data_cadastro, @codigo_vendedor)";
comando.Parameters.Add("@codigo_cliente", NpgsqlDbType.Integer).Value = obtem_chave_primaria_cliente();
comando.Parameters.Add("@nome_cliente", NpgsqlDbType.Varchar).Value = nome.ToUpper();
comando.Parameters.Add("@sobrenome_cliente", NpgsqlDbType.Varchar).Value = sobrenome.ToUpper();
comando.Parameters.Add("@endereco", NpgsqlDbType.Varchar).Value = endereco.ToUpper();
comando.Parameters.Add("@cidade", NpgsqlDbType.Varchar).Value = cidade.ToUpper();
comando.Parameters.Add("@telefone1", NpgsqlDbType.Varchar).Value = telefone1.TrimEnd();
comando.Parameters.Add("@telefone2", NpgsqlDbType.Varchar).Value = telefone2.TrimEnd();
comando.Parameters.Add("@email", NpgsqlDbType.Varchar).Value = email.ToLower();
comando.Parameters.Add("@data_nascimento", NpgsqlDbType.Date).Value = nascimeto;
comando.Parameters.Add("@data_cadastro", NpgsqlDbType.Date).Value = DateTime.Today;
comando.Parameters.Add("@codigo_vendedor", NpgsqlDbType.Varchar).Value = cpf_vendedor;
comando.ExecuteNonQuery();
return "1";
}
}
catch (Exception excecao)
{
return "Erro 101: " + excecao.Message;
}
}
/// <summary>
/// Indexa uma lista cíclica previamente criada, com cada posto cadastrado no banco de dados.
/// </summary>
/// <param name="lista_postos_"></param>
/// <param name="lista_produtos_"></param>
/// <param name="nome_lista_"></param>
/// <param name="origem_"></param>
/// <returns></returns>
public string relaciona_lista_com_todos_postos(List<adm_usuario> lista_postos_,
List<produto> lista_produtos_, string nome_lista_)
{
try
{
List<adm_usuario> lista_postos = lista_postos_;
List<produto> lista_produtos = lista_produtos_;
conexao nova_conexao = new conexao();
using (NpgsqlConnection conexao = new NpgsqlConnection(nova_conexao.string_conexao))
{
conexao.Open();
// Adiciona todos os itens de uma lista para um posto, depois passa os mesmos itens
// da lista, para um próximo posto.
for (int posto = 0; posto < lista_postos.Count; posto++)
{
for (int produto = 0; produto < lista_produtos.Count; produto++)
{
NpgsqlCommand comando = conexao.CreateCommand();
comando.CommandText = "INSERT INTO lista_ciclica (ordem_item, cod_posto, cod_produto," +
"nome_lista, origem) VALUES (@ordem_item, @cod_posto, @cod_produto, @nome_lista, @origem)";
int contador_item_lista = produto + 20;
int cod_posto = Convert.ToInt32(lista_postos[posto].cod_usuario);
string cod_produto = lista_produtos[produto].codigo_produto.ToString();
string nome_lista = nome_lista_;
comando.Parameters.Add("@ordem_item", NpgsqlDbType.Integer).Value = contador_item_lista;
comando.Parameters.Add("@cod_posto", NpgsqlDbType.Integer).Value = cod_posto;
comando.Parameters.Add("@cod_produto", NpgsqlDbType.Varchar).Value = cod_produto;
comando.Parameters.Add("@nome_lista", NpgsqlDbType.Varchar).Value = nome_lista;
comando.Parameters.Add("@nome_lista", NpgsqlDbType.Varchar).Value = nome_lista;
comando.Parameters.Add("@origem", NpgsqlDbType.Varchar).Value = "M";
comando.ExecuteNonQuery();
}
}
conexao.Close();
}
return "1";
}
catch (Exception excecao)
{
return "Erro 113: " + excecao.Message;
}
}
/// <summary>
/// Obtém o último valor do código do cliente cadastrado na tabela clientes e soma 1.
/// </summary>
/// <returns>Código do cliente</returns>
public int obtem_codigo_cliente()
{
conexao_banco nova_conexao = new conexao_banco();
try
{
if (codigo_cliente == 0)
{
using (OracleConnection conexao = new OracleConnection(nova_conexao.param_conexao()))
{
conexao.Open();
OracleCommand comando = conexao.CreateCommand();
comando.CommandText = "SELECT MAX (CODIGO_CLIENTE) FROM CLIENTES";
var resultado = comando.ExecuteScalar();
if (resultado != DBNull.Value)
{
codigo_cliente = Convert.ToInt32(resultado);
codigo_cliente++;
}
}
}
else
{
codigo_cliente++;
}
}
catch (Exception excecao)
{
var erro = "Erro 106: " + excecao.Message;
}
return codigo_cliente;
}
}
/// <summary>
/// Obtém todas as empresas cadastradas no banco de dados.
/// </summary>
/// <returns>Lista de empresas</returns>
public List<Empresa> obtem_todas_empresas()
{
List<Empresa> lista_empresas = new List<Empresa>();
try
{
Conexao_Banco conexao_banco = new Conexao_Banco();
using (NpgsqlConnection conexao = new NpgsqlConnection(conexao_banco.string_conexao))
{
conexao.Open();
NpgsqlCommand comando = conexao.CreateCommand();
comando.CommandText = "SELECT id_empresa, cod_empresa, cod_interno, nome, cnpj " +
"FROM empresa";
NpgsqlDataReader resultado = comando.ExecuteReader();
while (resultado.Read())
{
Empresa empresa = new Empresa()
{
id_empresa = Convert.ToInt32(resultado["id_empresa"]),
codigo_empresa = Convert.ToInt32(resultado["cod_empresa"]),
codigo_interno = Convert.ToInt32(resultado["cod_interno"]),
nome = resultado["nome"].ToString(),
cnpj = resultado["cnpj"].ToString()
};
lista_empresas.Add(empresa);
}
}
}
catch (Exception excecao)
{
var erro = "Erro 21: " + excecao.Message;
return null;
}
return lista_empresas;
}
private bool nota_ja_existe(string numero_ordem)
{
bool resultado = false;
try
{
conexao_banco nova_conexao = new conexao_banco();
string estabelece_conexao = nova_conexao.param_conexao();
using (OracleConnection conexao = new OracleConnection(estabelece_conexao))
{
conexao.Open();
OracleCommand comando = conexao.CreateCommand();
comando.CommandText = "SELECT * FROM notaf_aceita_base WHERE order_id = '"
+ numero_ordem + "'";
var retorno = comando.ExecuteReader();
return resultado = retorno.HasRows ? true : false;
}
}
catch (Exception excecao)
{
var erro = "Erro 105: " + excecao.Message;
}
return resultado;
}
/// <summary>
/// Atualiza os dados de uma movimentação financeira.
/// </summary>
/// <param name="id_conta"></param>
/// <param name="data_conta"></param>
/// <param name="valor"></param>
/// <param name="descricao"></param>
/// <param name="id_classificacao"></param>
/// <returns></returns>
public string atualiza_movimentacao(int id_conta, DateTime data_conta, decimal valor,
string descricao, int id_classificacao)
{
try
{
Conexao nova_conexao = new Conexao();
using (NpgsqlConnection conexao = new NpgsqlConnection(nova_conexao.string_conexao))
{
conexao.Open();
NpgsqlCommand comando = conexao.CreateCommand();
comando.CommandText = "UPDATE receita_despesa SET data_conta = @data_conta, " +
"valor = @valor, descricao = @descricao, id_classificacao = @id_classificacao " +
" WHERE id_conta = " + id_conta;
comando.Parameters.Add(new NpgsqlParameter("@data_conta", NpgsqlDbType.Date)).Value = data_conta;
comando.Parameters.Add(new NpgsqlParameter("@valor", NpgsqlDbType.Money)).Value = valor;
comando.Parameters.Add(new NpgsqlParameter("@descricao", NpgsqlDbType.Varchar)).Value = descricao.ToUpper();
comando.Parameters.Add(new NpgsqlParameter("@id_classificacao", NpgsqlDbType.Integer)).Value = id_classificacao;
comando.ExecuteNonQuery();
conexao.Close();
return "1";
}
}
catch (Exception excecao)
{
return "Erro 150: " + excecao.Message;
}
}
ou
/// <summary>
/// Informando o código da negociação, a mesma é atualizada.
/// </summary>
/// <param name="codigo_negociacao"></param>
/// <param name="valor"></param>
/// <param name="origem"></param>
/// <param name="interesse"></param>
/// <param name="explicacao"></param>
/// <param name="observacao"></param>
/// <param name="status"></param>
/// <param name="justificativa"></param>
/// <param name="visita"></param>
/// <param name="recontato"></param>
/// <param name="grupo"></param>
/// <param name="cota"></param>
/// <param name="versao"></param>
/// <returns></returns>
public string atualiza_negociacao(int codigo_negociacao, decimal valor, string origem, string interesse,
string explicacao, string observacao, string status, string justificativa, DateTime data_negociacao,
char visita, char recontato, string grupo, string cota, string versao)
{
try
{
Conexao nova_conexao = new Conexao();
using (NpgsqlConnection conexao = new NpgsqlConnection(nova_conexao.string_conexao))
{
conexao.Open();
NpgsqlCommand comando = conexao.CreateCommand();
comando.CommandText = "UPDATE negociacao SET valor = @valor, origem = @origem, " +
"interesse = @interesse, explicacao = @explicacao, observacao = @observacao, " +
"status = @status, justificativa = @justificativa, data_negociacao = @data_negociacao, " +
"visita = @visita, recontato = @recontato " +
"WHERE codigo_negociacao = " + codigo_negociacao;
comando.Parameters.Add(new NpgsqlParameter("valor", NpgsqlDbType.Numeric));
comando.Parameters.Add(new NpgsqlParameter("@origem", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@interesse", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@explicacao", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@observacao", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@status", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@justificativa", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@data_negociacao", NpgsqlDbType.Timestamp));
comando.Parameters.Add(new NpgsqlParameter("@visita", NpgsqlDbType.Char));
comando.Parameters.Add(new NpgsqlParameter("@recontato", NpgsqlDbType.Char));
comando.Parameters.Add(new NpgsqlParameter("@grupo", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@cota", NpgsqlDbType.Varchar));
comando.Parameters.Add(new NpgsqlParameter("@versao", NpgsqlDbType.Varchar));
comando.Parameters[0].Value = valor;
comando.Parameters[1].Value = origem.ToUpper();
comando.Parameters[2].Value = interesse.ToUpper();
comando.Parameters[3].Value = explicacao.ToUpper();
comando.Parameters[4].Value = observacao.ToUpper();
comando.Parameters[5].Value = status.ToUpper();
comando.Parameters[6].Value = justificativa.ToUpper();
comando.Parameters[7].Value = data_negociacao;
comando.Parameters[8].Value = visita;
comando.Parameters[9].Value = recontato;
comando.Parameters[10].Value = grupo;
comando.Parameters[11].Value = cota;
comando.Parameters[12].Value = versao;
comando.ExecuteNonQuery();
}
return "1";
}
catch (Exception excecao)
{
return "Erro 125: " + excecao.Message;
}
}
OU
/// <summary>
/// Atualiza os dados cadastrado de um produto.
/// </summary>
/// <param name="codigo_barras_"></param>
/// <param name="nome_produto_"></param>
/// <param name="valor_unitario_"></param>
/// <param name="codigo_produto_"></param>
/// <returns></returns>
public string atualiza_um_produto(string codigo_barras_, string nome_produto_, double valor_unitario_,
int codigo_produto_, int departamento_, int secao_, int grupo_, int subgrupo_)
{
try
{
conexao nova_conexao = new conexao();
using (NpgsqlConnection conexao = new NpgsqlConnection(nova_conexao.string_conexao))
{
string valor2 = validacao.ajusta_casa_decimal(valor_unitario_);
double val = Convert.ToDouble(valor2);
double valor = Convert.ToDouble(valor_unitario_.ToString());
var valor3 = valor.ToString().Replace(',', '.');
conexao.Open();
NpgsqlCommand comando = conexao.CreateCommand();
comando.CommandText = "UPDATE produto SET codigo_barras = '" + codigo_barras_ +
"', nome_produto = '" + nome_produto_ + "', valor_unitario = " + valor3 +
", codigo_produto = " + codigo_produto_ + ", codigo_departamento = " +
departamento_ + ", codigo_secao = " + secao_ + ", codigo_grupo = " + grupo_ +
", codigo_subgrupo = " + subgrupo_ + " WHERE codigo_produto = " +
codigo_produto_;
comando.ExecuteNonQuery();
return "1";
}
}
catch (Exception excecao)
{
return excecao.Message.ToString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment