/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package xmlinverter;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;

/**
 *
 * @author yudo
 */
public class database {
  private Connection con ;
  private Statement st;
  private ResultSet rs=null;

    public database()
      {}

    public int koneksi(int pilihanDB,String server,String database,String user,String password){
    int koneksi=0;
    String url="";
    

    switch(pilihanDB){
        case 0: System.out.println("MY SQL SERVER");
                url = "jdbc:mysql://"+server+":3306/"+database;
                try{
                Class.forName("com.mysql.jdbc.Driver");
                con = DriverManager.getConnection(url, user, password);
                System.out.println("Koneksi MySQL berhasil ="+url+user+password);
                //jp.showMessageDialog(null, "Koneksi database sukses " );
                }
                catch(ClassNotFoundException ex) {
                   System.err.println("Driver Error");
                   System.exit(1);
                   koneksi=0;
                }
                catch(SQLException e){
                   System.out.println("Tidak berhasil koneksi="+url+user+password);
                   koneksi=0;
                }
                //System.out.println("Koneksi ke MySQL");
                koneksi=1;
                break;

        case 1: System.out.println("MAX DB SERVER");
                break;
        default: break;
    } 
       return koneksi;

    }//akhir void koneksi

     public ResultSet getResult(String sql){
       rs=null;
        try {
         st = con.createStatement();
         rs = st.executeQuery(sql);
            }
        catch (SQLException se) {
         JOptionPane.showMessageDialog(null, "Gagal mengeksekusi SQL dgn perintah : " + sql);
        }
        return rs;
    }

     public String getString(String sql){
       String output = null;
       rs=null;
        try {
         st = con.createStatement();
         rs = st.executeQuery(sql);
         output=rs.getString(1);
            }
        catch (SQLException se) {
         JOptionPane.showMessageDialog(null, "Gagal mengeksekusi SQL dgn perintah : " + sql);
        }
        return output;
    }

     public int getInteger(String sql){
       int output = 0;
       rs=null;
        try {
         st = con.createStatement();
         rs = st.executeQuery(sql);
         output=Integer.parseInt(rs.getString(1));
            }
        catch (SQLException se) {
         JOptionPane.showMessageDialog(null, "Gagal mengeksekusi SQL dgn perintah : " + sql);
        }
        return output;
    }
     public String getString1(String sql){
       String output = null;
       rs=null;
        try {
         st = con.createStatement();
         rs = st.executeQuery(sql);
         if (rs != null) {
             while (rs.next()) {
                output=rs.getString(1);
             }
         }
        }
        catch (SQLException se) {
         JOptionPane.showMessageDialog(null, "Gagal mengeksekusi SQL dgn perintah : " + sql);
        }
        return output;
    }

public int getInteger1(String sql){
       int output=0;
       rs=null;
        try {
         st = con.createStatement();
         rs = st.executeQuery(sql);
         if (rs != null) {
             while (rs.next()) {
                //output=rs.getString(1);
                if(rs.getString(1)==null){ output=0;}else
                {output=Integer.parseInt(rs.getString(1)); }
             }

         }
        }
        catch (SQLException se) {
         JOptionPane.showMessageDialog(null, "Gagal mengeksekusi SQL dgn perintah : " + sql);
        }
        return output;
    }

     public void setQuery(String sql){
       try {
        st = con.createStatement();
        int a=st.executeUpdate(sql) ;
        
        } catch (SQLException ex) {
           JOptionPane.showMessageDialog(null, "Gagal mengeksekusi " + sql);
        }
     }

     public int setUpdate(String sql){
      int a=0;
        try {
        st = con.createStatement();
        st.executeUpdate(sql) ;
        a=1;
        } catch (SQLException ex) {
           JOptionPane.showMessageDialog(null, "Gagal mengeksekusi " + sql);
           a=0;
        }
      return a;
     }

     public void dbClose(){
      try {
         con.close();
      }
      catch(SQLException sqlex){
         System.err.println("Error :Koneksi Database tidak Bisa diputus");
      }
   }


}//akhir

