Connect to PostgreSQL - potatoscript/csharp GitHub Wiki

Example Code 1 NpgsqlDataAdapter : Display table data

using System;
using System.Data;
using System.Windows.Forms;
using Npgsql;

namespace connectToPostgresql
{
   public partial class Form1 : Form
   {
      InitializeComponent();
   }
   private void OpenConnAndSelect_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
   {
      try
      {
          string connstring = String.Format(
                              "Server={0};"+"Port={1};"+"UserId = {2};"+"Password = {3};"+" Database = {4};" ,
                              " localhost","5432","lim","","myDB");
          NpgsqlConnection conn = new NpgsqlConnection(connstring);
          DataSet ds = new DataSet();
          conn.Open();
          
          string sql ="SELECT * FROM myTable";
          NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);

          ds.Reset();
          da.Fill(ds); // filling DataSet with result from NpgsqlDataAdapter
           
          // Connect GridView to DataTable
          dataGridView1.DataSource = ds.Tables[0]; 
          
          conn.Close();
      }
      catch(Exception e)
      {
         MessageBox.Show(e.ToString());
         throw;
      }
   }
}

Example Code 2 NpgsqlCommand : Login system and passing value between two forms

using Npgsql;
using mono;
namespace connection2
{
   public partial class Form1 : Form
   {
      InitializeComponent();
   }
   private void BtnLoginClick(object sender, EventArgs e)
   {
       string name = myName.Text;
       string pw = myPw.Text;
        string frm = new Form2(name,pw);
        bool blnfound = false;
        string connstring = String.Format(
                              "Server={0};"+"Port={1};"+"UserId = {2};"+"Password = {3};"+" Database = {4};" ,
                              " localhost","5432","lim","","myDB");
          NpgsqlConnection conn = new NpgsqlConnection(connstring);
      
          conn.Open();
          
          string sql ="SELECT * FROM myTable WHERE name = '"+name+"' AND password = '"+pw+"'";
          NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
          
          NpgsqlDataReader dr = cmd.ExecuteReader();
   
          if(dr.Read())
          {
             blnFound =true;
             frm.show();
             this.Hide();
          }
          if(blnFound == false)
          {
              MessageBox.Show("not correct", "MyMessage", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
          }
          
          dr.Close();
          conn.Close();
   }
}
  • Form2.cs
namespace connection2  // the namespace must same as Form1
{
   public partial class Form2 : Form
   {
      private string username, password;
      public Form2(string name, string pw)
      {
         InitializeComponent();
         username = name;
         password = pw;
       }
      
      private void Form2.Load(object sender, EventArgs e)
      {
         try
        {
            string connstring = String.Format(
                              "Server={0};"+"Port={1};"+"UserId = {2};"+"Password = {3};"+" Database = {4};" ,
                              " localhost","5432","lim","","myDB");
            NpgsqlConnection conn = new NpgsqlConnection(connstring);
      
            conn.Open();

            string sql ="SELECT * FROM myTable WHERE name = '"+username+"' AND password = '"+password+"'";
            NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);

          ds.Reset();
          da.Fill(ds); // filling DataSet with result from NpgsqlDataAdapter
           
          // Connect GridView to DataTable
          dataGridView1.DataSource = ds.Tables[0]; 
          
          conn.Close();
        }
        catch(Exception e)
        {
            MessageBox.Show(e.ToString());
            throw;
        }
         
      }

   }
}