# Problem with insertion in database.



## chrism120 (2. Okt 2019)

Hallo, wie kann ich nach der Aufzählung der Zahle diese in die Datenbank einfügen.
da sind meine Stückcodes. 
function for insertion.

```
public static void  insertdb(String sql,String ip) {
        try {
            
54--            st=conn.prepareStatement(sql);
            st.setString(1,ip);
            st.executeUpdate();
            System.out.println("Insertion ok");
    }
        catch (SQLException e) {
            
            System.out.println("Problem by inserting " );
            
        }
    }
```

hier ist mein Thread.

```
Runnable r1 = new Runnable() {
            
          @Override
          public void run() {
            byte[] a = ip1;
            while (true) {
              String s = bytesToIpv4(a);
              synchronized (s1) {
                  if (isNotEquals(a, ip2)) {
                      
                    count(a);
                  } else {
                    break;
                  }
                }
              //System.out.println( s);
190--                        insertdb("INSERT INTO Adresse (Ip) VALUES (?)",s);
            }
          }
```
Dies funktioniert korrekt also ich dann die Aufzählung auf der Konsole darstellen. Aber wenn ich versuche in meine Datebank einzzufüge ich Kriege eine  Fehlermeldung. 


Exception in thread "Thread-0" java.lang.NullPointerException
    at Unittest.insertdb(Unittest.java:54)
    at Unittest$1.run(Unittest.java:190)
    at java.lang.Thread.run(Unknown Source)


----------



## Robat (2. Okt 2019)

Wie/wo initialisierst du denn `conn`?


----------



## chrism120 (2. Okt 2019)

Robat hat gesagt.:


> Wie/wo initialisierst du denn `conn`?




```
private static Statement stat ;
    private static ResultSetMetaData res=null ;
    private static Connection conn=null;
    private static ResultSet resultat =null;
    private static ResultSetMetaData rsmt=null;
    private static PreparedStatement st=null ;
```


----------



## chrism120 (2. Okt 2019)

hier habe ich meine Werte deklariert. 


```
private static Statement stat ;
    private static ResultSetMetaData res=null ;
    private static Connection conn=null;
    private static ResultSet resultat =null;
    private static ResultSetMetaData rsmt=null;
    private static PreparedStatement st=null ;
```
ich weiß nicht was ich falsch gemacht habe.


----------



## Robat (2. Okt 2019)

Dort deklarierst du die Variablen nur - legst sie also an (und initialisierst sie tw. mit null). Entscheident ist wo du sie initialisierst - also wo du den Variablen Werte zuweist.


----------



## chrism120 (2. Okt 2019)

Robat hat gesagt.:


> Dort deklarierst du die Variablen nur - legst sie also an (und initialisierst sie tw. mit null). Entscheident ist wo du sie initialisierst - also wo du den Variablen Werte zuweist.


ok


----------



## chrism120 (2. Okt 2019)

Robat hat gesagt.:


> Dort deklarierst du die Variablen nur - legst sie also an (und initialisierst sie tw. mit null). Entscheident ist wo du sie initialisierst - also wo du den Variablen Werte zuweist.


immer nix passiert


----------



## Robat (2. Okt 2019)

Und was soll ich ohne Code jetzt dazu sagen?


----------

