I'm learning databases using Java, and here is the simple code for that:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
public class ClassGUIApplication extends JFrame{
private JPanel centerPnl = new JPanel();
private JPanel northPnl = new JPanel();
private JLabel idLbl = new JLabel("Id:");
private JLabel nameLbl = new JLabel("Name:");
private JLabel surnameLbl = new JLabel("Surname:");
private JLabel gradeLbl = new JLabel("Grade:");
private JTextField idTxt = new JTextField(30);
private JTextField nameTxt = new JTextField(30);
private JTextField surnameTxt = new JTextField(30);
private JTextField gradeTxt = new JTextField(30);
private JButton insertBtn = new JButton("INSERT");
private JTable table;
private StudentDBManager mng = new StudentDBManager();
private ClassTableModel model;
public ClassGUIApplication() {
setTitle("Class Grade Report");
setLayout(new GridLayout(2,1));
centerPnl.setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = 0;
gc.gridy = 0;
centerPnl.add(idLbl, gc);
gc.gridx = 1;
gc.gridy = 0;
centerPnl.add(idTxt, gc);
gc.gridx = 0;
gc.gridy = 1;
centerPnl.add(nameLbl, gc);
gc.gridx = 1;
gc.gridy = 1;
centerPnl.add(nameTxt, gc);
gc.gridx = 0;
gc.gridy = 2;
centerPnl.add(surnameLbl, gc);
gc.gridx = 1;
gc.gridy = 2;
centerPnl.add(surnameTxt, gc);
gc.gridx = 0;
gc.gridy = 3;
centerPnl.add(gradeLbl, gc);
gc.gridx = 1;
gc.gridy = 3;
centerPnl.add(gradeTxt, gc);
gc.gridx = 2;
gc.gridy = 4;
centerPnl.add(insertBtn, gc);
insertBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int id = Integer.parseInt(idTxt.getText());
String name = nameTxt.getText();
String surname = surnameTxt.getText();
double grade = Double.parseDouble(gradeTxt.getText());
Student student = new Student(id,name,surname,grade);
mng.addStudent(student);
List<Student> classList = mng.getStudents();
model = new ClassTableModel(classList);
table.setModel(model);
}
});
northPnl.setLayout(new GridLayout());
List<Student> classList = mng.getStudents();
model = new ClassTableModel(classList);
table = new JTable(model);
northPnl.add(new JScrollPane(table));
add(centerPnl);
add(northPnl);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPreferredSize(new Dimension(500,500));
setVisible(true);
pack();
}
public static void main(String[] args) {
ClassGUIApplication app = new ClassGUIApplication();
}
}
public static void main(String[] args) {
ClassGUIApplication app = new ClassGUIApplication();
}
}
Eclipse gives eror like this:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source) at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source) at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at StudentDBManager.openConnection(StudentDBManager.java:21) at StudentDBManager.(StudentDBManager.java:15) at ClassGUIApplication.(ClassGUIApplication.java:36) at ClassGUIApplication.main(ClassGUIApplication.java:102)
Are your operating system or JVM 32 bit or 64 bit?
I don't believe the 64 bit JVM has the ODBC bridge driver class. And a 64 bit operating system would suggest that you should read this:
Whenever I get an error, the first thing I do is paste it into Google. I usually learn that I'm not the first person to see my problem.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.