posted 11 months ago
I am trying to execute a query statement from my java program, but whenever I run it I get a nullpointerexeption on the Statement stmt = DBConnect.con.createStatement();. Does anyone know how to fix this?
posted 11 months ago
Well, I don't know what DBConnect is, but either it, or DBConnect.con is null. I can't really tell you more unless you say what DBConnect is.
The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
Stephan van Hulst
Saloon Keeper
Posts: 8494
155
posted 11 months ago
Well there you go. You initialize con to null, and never set it to anything else. Remember that only one main() method is run when you start your application.
This is not a good design though. You shouldn't have one static connection that is accessible by the entire application. Instead, classes that need to interact with a database should have a constructor that takes a DataSource. The class can then open a new or pooled connection at the moment they need it:
Note also that you probably shouldn't get passwords hashes out of your database until you're going to authenticate a specific user.
This is not a good design though. You shouldn't have one static connection that is accessible by the entire application. Instead, classes that need to interact with a database should have a constructor that takes a DataSource. The class can then open a new or pooled connection at the moment they need it:
Note also that you probably shouldn't get passwords hashes out of your database until you're going to authenticate a specific user.
The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.