package paketMySQLDBSichern;

import java.sql.*;

import paketMySQLDBSichern.Datenbank;

public class DatenbankZugriff
{
	
	private Datenbank meineDatenbank;
	private DBVerbindung meineDBVerbindung ;
	ResultSet ergebnismenge=null;
	
	public DatenbankZugriff(Datenbank pDatenbank)
	{ 
		meineDatenbank = pDatenbank; 
		meineDBVerbindung=new DBVerbindung();
		
	} 
	
	public int oeffneDatenbank()
	{
		  int mOK=0;
		  if(meineDBVerbindung.oeffneDB()==false)
			 {
				 mOK=2; 
			 }
		  return mOK;
	}
	
	public int schliesseDatenbank()
	{
		  int mOK=0;
		  if(meineDBVerbindung.schliesseDB()==false)
			 {
				 mOK=2; 
			 }
		  return mOK;
	}
	
	public int sucheDatenbank()
	{
	    int mOK=0;
		String mSQL;
	 if(meineDBVerbindung.oeffneDB()==false)
	 {
		 mOK=2; 
	 }
	 else
	 {
	  
		   mSQL  = "Show Databases;";
		  
	   ergebnismenge = meineDBVerbindung.lesen(mSQL);
      try
      {
	     if (ergebnismenge.first()==false)
	     {
		   mOK=1;
	     }
        else
 	     {
	       mOK=0;
	       ergebnismenge.first();
	       werteUebernehmen();
	      
 	     }
      }
	
      catch (Exception err)
      {
	     mOK=2;
       }
	 }
	 return mOK;
	}
	 
	
	public boolean naechsteDatenbank()
	{
		boolean mNaechsteDatenbankOK;   
		try
		  {
		   ergebnismenge.next();
		   mNaechsteDatenbankOK = werteUebernehmen();
	       
		  }
		  catch (Exception ex)
		  {
			  mNaechsteDatenbankOK = false;
			  meineDBVerbindung.schliesseDB();
		  }
		  return  mNaechsteDatenbankOK;
	}
	
	
	
	 public boolean werteUebernehmen()
		{
			boolean mNaechsteDatenbankOK; 
			try
			{	
	     	   meineDatenbank.setDatenbankname(ergebnismenge.getString("Database")) ;
	     	  		      
	     	  mNaechsteDatenbankOK=true; 		}
		       catch (SQLException exSQL) 
		       {
		    	   mNaechsteDatenbankOK=false;
		       }
		       return mNaechsteDatenbankOK;
		}

}
