1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Conexão C# com PostGres

Como eu faço conexão de C# com PostGres, tenho um programa para fazer em aula para cadastrar receitas e não to conseguindo fazer, queria saber como faço o código para conectar o banco com os botões, exibir, alterar, incluir e deletar. Se tiver alguém que possa me ajudar, eu ficarei muito grato.

To usando o Npgsql.dll e Mono.Security.dll mas nao ta funcionando.

using System;

using System.Linq;

using System.Text;

using System.Data; using Npgsql;

namespace CadastroReceita { class DAL { static string serverName = "127.0.0.1"; //localhost static string port = "5432"; //porta default static string userName = "postgres"; //nome do administrador static string password = "leticia"; //senha do administrador static string databaseName = "info35"; //nome do banco de dados NpgsqlConnection pgsqlConnection = null; string connString = null;

    public DAL()
    {
        connString = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};",
                                                    serverName, port, userName, password, databaseName);

        }
         public DataTable GetTodosRegistros()
    { 

        DataTable dt = new DataTable();

        try
        {
            using (pgsqlConnection = new NpgsqlConnection(connString))
            {

                pgsqlConnection.Open();
                string cmdSeleciona = "Select * from receita order by id";

                using (NpgsqlDataAdapter Adpt = new NpgsqlDataAdapter(cmdSeleciona, pgsqlConnection))
                {
                    Adpt.Fill(dt);
                }
            }
        }
        catch (NpgsqlException ex)
        {
            throw ex;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            pgsqlConnection.Close();
        }

        return dt;

    }
    public DataTable GetRegistroPorId(int id)
    {

        DataTable dt = new DataTable();

        try
        {
            using (NpgsqlConnection pgsqlConnection = new NpgsqlConnection(connString))
            {

                pgsqlConnection.Open();
                string tabela = "Select * from receita Where id = " + id;

                using (NpgsqlDataAdapter Adpt = new NpgsqlDataAdapter(tabela, pgsqlConnection))
                {
                    Adpt.Fill(dt);
                }                   
            }
        }
        catch (NpgsqlException ex)
        {
            throw ex;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            pgsqlConnection.Close();
        }
        return dt;
    }
    public void InserirRegistros(int id_receita, string NomeReceita, string ingrediente, string c, int Rendimento, int tempopreparo)
    {

        try
        {
            using (NpgsqlConnection pgsqlConnection = new NpgsqlConnection(connString))
            {

                pgsqlConnection.Open();

                string cmdInserir = String.Format("Insert Into receita(id_receita,NomeReceita,ingredientes,modoFazer,rendimento,tempoPreparo) values('{0}','{1}',{2})",id_receita,NomeReceita,ingredientes,modoFazer,rendimento,tempoPreparo);

                using (NpgsqlCommand pgsqlcommand = new NpgsqlCommand(cmdInserir, pgsqlConnection))
                {
                    pgsqlcommand.ExecuteNonQuery();
                }                    
            }
        }
        catch (NpgsqlException ex)
        {
            throw ex;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            pgsqlConnection.Close();
        }
     }
         public void AtualizarRegistro(int id_receita, string NomeReceita, string ingrediente,string c,int Rendimento,int tempopreparo)
    {
        try
        {
            using (NpgsqlConnection pgsqlConnection = new NpgsqlConnection(connString))
            {

                pgsqlConnection.Open();

                string cmdAtualiza = String.Format("Update receita Set ingrediente= '"  + ingrediente + "' , Rendimento " +  Rendimento + "tempopreparo " +  tempopreparo + " Where id = " + id_receita);

                using (NpgsqlCommand pgsqlcommand = new NpgsqlCommand(cmdAtualiza, pgsqlConnection))
                {
                    pgsqlcommand.ExecuteNonQuery();
                }
            }
        }
        catch (NpgsqlException ex)
        {
            throw ex;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            pgsqlConnection.Close();
        }
         }
              public void DeletarRegistro(string nome)
    {
        try
        {
            using (NpgsqlConnection pgsqlConnection = new NpgsqlConnection(connString))
            {
                //abre a conexao                
                pgsqlConnection.Open();

                string cmdDeletar = String.Format("Delete From receita Where NomeReceita = '{0}'",NomeReceita);

                using (NpgsqlCommand pgsqlcommand = new NpgsqlCommand(cmdDeletar, pgsqlConnection))
                {
                    pgsqlcommand.ExecuteNonQuery();
                }
            }
        }
        catch (NpgsqlException ex)
        {
            throw ex;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            pgsqlConnection.Close();
        }

    }

public string NomeReceita { get; set; }

public object ingredientes { get; set; }

public string id_receita { get; set; }

public object modoFazer { get; set; }

public object rendimento { get; set; }

public object tempoPreparo { get; set; }}

}

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags busca integer string ou faça a sua própria pergunta.