Соединение с сообщением об ошибке имеет значение null, пока база данных подключена [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Соединение с сообщением об ошибке имеет значение null, пока база данных подключена [дубликат]

Сообщение Anonymous »

Я создал служебный класс для обработки подключений к базе данных с использованием JDBC. Я получаю следующую ошибку в другом классе, выполняя такие действия, как отображение значений из базы данных:
"Cannot invoke "java.sql.Connection.prepareStatement(String)" because "Utils.connection" is null"
У меня есть еще один класс, где соединение работает как очарование.
///// Это класс соединения.
import java.sql.*;

public class Utils {

public static Connection connection ;
public static PreparedStatement preStmt;
public static ResultSet rs;

public static void Connect() {
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "root", "");
System.out.println("DataBase Connected ;)");

} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}

/////// Это еще один класс, в котором я получаю сообщение об ошибке
import javax.swing.*;
import java.sql.SQLException;

public class Contacts {

static JFrame frame = new JFrame("Contacts");
private JButton searchButton;
private JTextField textSearch;
private JList list;
private JButton createButton;
private JButton deleteButton;
private JButton editButton;
private JPanel Main;
private DefaultListModel listModel;

public static void main(String[] args) {
frame.setContentPane(new Contacts().Main);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);
frame.setSize(500, 700);

Utils.Connect();
}

public Contacts() {
DefaultListModel listModel = new DefaultListModel();
list.setModel(listModel);

loadContacts();
}

public void loadContacts() {
String name;
String number;
String address;

listModel.clear();

try {
Utils.preStmt = Utils.connection
.prepareStatement("SELECT * FROM contactsdb WHERE id =?");
Utils.preStmt.setString(1, String.valueOf(list));
Utils.rs = Utils.preStmt.executeQuery();

while (Utils.rs.next()) {
name = Utils.rs.getString(1);
number = Utils.rs.getString(2);
address = Utils.rs.getString(3);
listModel.addElement(name + " " + number + " " + address);
listModel.addElement(number); listModel.addElement(address);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -connected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»