rückgabewert von methode



  • hi,

    bei diesen code

    public bool createdb(string strcompname,string strdbname,string strbenutzer,string strpwd)
    		{
    			SqlConnection oSqlConn = new SqlConnection();
    			oSqlConn.ConnectionString=strcompname+"\\Test;Database=;User ID="+strbenutzer+";Password="+		strpwd+";Trusted_Connection=False";
    			oSqlConn.Open(); //Verbindung geöffnet
    			try
    			{
    				SqlCommand cmd = new SqlCommand("CREATE DATABASE "+strdbname, oSqlConn);
    				cmd.ExecuteNonQuery();
    			}
    			catch
    			{
    				return false; //Erstellung schlägt fehl dann gibt er false zurück
    			}
    			finally
    			{
    				oSqlConn.Close();
    				return true;
    			}
    

    bekomme ich immer diesen fehler "Ein Steuerelement kann den Text einer Finally-Klausel nicht verlassen"
    wenn ich den rückgabewert weglasse gehts auch net weil er unbedingt einen will



  • Der finally Block wird immer durchlaufen auch wenn eine Exception geworfen wird.

    public bool createdb(string strcompname,string strdbname,string strbenutzer,string strpwd)
            {
                SqlConnection oSqlConn = new SqlConnection();
                oSqlConn.ConnectionString=strcompname+"\\Test;Database=;User ID="+strbenutzer+";Password="+strpwd+";Trusted_Connection=False";
                oSqlConn.Open(); //Verbindung geöffnet
                try
                {
                    SqlCommand cmd = new SqlCommand("CREATE DATABASE "+strdbname, oSqlConn);
                    cmd.ExecuteNonQuery();
                }
                catch
                {
                    return false; //Erstellung schlägt fehl dann gibt er false zurück
                }
                finally
                {
                    oSqlConn.Close();
    	        }
                return true;
    		}
    


  • danke für die schnelle antwort funktioniert jetzt 🙂


Anmelden zum Antworten