# Statement/Connection SQLWarning



## Clip (7. Jul 2006)

Hallo,

Ist es möglich ein Event zu programmieren, dass immer dann aufgerufen wird ,wenn ein Statement (oder eine Connection, je nachdem was besser geht) eine SQLWarning bekommt?



> java.sql
> Class SQLWarning
> java.lang.Object
> java.lang.Throwable
> ...



geht das? wie?

Dane!


----------



## Clip (7. Jul 2006)

Ich habe das jetzt gaaaaaaaaaaaaaaaaaaaaaaanz hässlich gelöst.
Leider, aber ich weiß es nicht besser 

```
import java.sql.Connection;
import java.sql.Statement;

public class WarningGetter extends Thread {

    private boolean stop = false;
    private Statement statement;
    private MyApp myapp;

    public WarningGetter(Statement connection, MyApp myapp)
    {
        this.statement = connection;
        this.myapp = myapp;
    }

    /**
     * Begin masking until asked to stop.
     */
    public void run()
    {
        while (!stop)
        {
            if (!stop)
            {
                try{
                    myapp.printAllExceptions(statement.getWarnings());
                    statement.clearWarnings();
                }
                catch (Exception ex){
                    System.out.println(ex);
                }
            }
            System.out.flush();
            try
            {
                sleep(50);
            }
            catch (InterruptedException iex)
            {
                iex.printStackTrace();
            }
        }
    }

    /**
     * Instruct the thread to stop masking.
     */
    public void stopGetting()
    {
        stop = true;
        try{
            myapp.printAllExceptions(statement.getWarnings());
            statement.clearWarnings();
        }
        catch (Exception ex){
            System.out.println(ex);
        }
    }

}
```


ich schäme mich auch ganz schrecklich das hier zu posten. aber es zeigt meine Hilflosigkeit  :bahnhof:


----------



## SamHotte (7. Jul 2006)

Wofür brauchste denn des?


----------



## Clip (7. Jul 2006)

Wenn ich mit execute einen Befehl ausführe der sehr lange dauert, und dieser befehl eine stored procedure ist, und in dieser der ablaufvortschritt anhand von print anweisungen (werden bei sybase als sqlwarnings zurückgegeben) in einer while schleife angezeigt wird, kann ich nicht darauf warten das sich execute fertig ist. ich brauche die warnings direkt.


----------



## SamHotte (7. Jul 2006)

Ahso, ok. Sorry, aber mit sowas hab ich noch nie gearbeitet.


----------

