corejava Требуется помощь по проекту - PullRequest
1 голос
/ 07 сентября 2010

Я Рия Б.Тех. студент и я должны сделать corejava проект по теме СИСТЕМА УПРАВЛЕНИЯ КОЛЛЕДЖОМ . Я создал необходимую базу данных с помощью MS Access. Я столкнулся с проблемой в коде, который я прилагаю здесь. На самом деле я хочу обновить данные в базе данных, поэтому я сделал 2 кадра в одном из них. Нет. спрашивается, когда он введен, затем открывается 2-й кадр и запрашивается обновление меток ввода ... когда я ввожу метки для обновления, открывается диалоговое окно с надписью «Метки обновлены успешно» До сих пор у меня нет никаких проблем ... проблема в том, что, когда я открываю базу данных, я вижу, что на самом деле Марки там не обновляются.

Код выглядит следующим образом:

1-я РАМКА

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

class MyFrame03 extends JFrame implements ActionListener {
    JLabel l1;
    JTextField t1;
    JPanel p1, p2;
    JButton b1;
    Connection con;
    PreparedStatement pst;
    String s1;

    MyFrame03() {
        setLayout(new GridLayout(4, 1));
        setTitle("Enter Data Required");
        setBackground(Color.blue);
        l1 = new JLabel("Roll no");
        t1 = new JTextField(12);
        p1 = new JPanel();
        p2 = new JPanel();
        b1 = new JButton("SUBMIT");
        p1.add(l1);
        p1.add(t1);
        p2.add(b1);
        add(p1, "Center");
        add(p2, "South");
        b1.addActionListener(this);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 500);
        setVisible(true);
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection("Jdbc:Odbc:dsn3");
            if (con != null)
                System.out.println("Connection Established");
        }
        catch (Exception e) {
            System.out.println("exception");
        }
    }

    public void actionPerformed(ActionEvent e1) {
        if (e1.getSource() == b1) {
            s1 = t1.getText();
            try {
                pst = con.prepareStatement("insert into stud values(?)");
                pst.setString(1, s1);
                pst.executeUpdate();
                con.commit();
                con.close();
            }
            catch (SQLException e) {
                System.out.println("except1");
            }
            MyFrame04 m1 = new MyFrame04(s1);
            dispose();
        }
    }

    public static void main(String s[]) throws SQLException {
        MyFrame03 m1 = new MyFrame03();
    }
}

2-я РАМА

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

class MyFrame04 extends JFrame implements ActionListener {
    JLabel l1;
    JTextField t1;
    JPanel p1, p2;
    JButton b1;
    String s1, s2;
    Connection con;
    PreparedStatement pst;

    public MyFrame04(String s1) {
        this.s1 = s1;
        setLayout(new GridLayout(4, 1));
        setTitle("Update Marks");
        setBackground(Color.blue);
        l1 = new JLabel("Enter Marks");
        t1 = new JTextField(12);
        b1 = new JButton("SUBMIT");
        p1 = new JPanel();
        p2 = new JPanel();
        p1.add(l1);
        p1.add(t1);
        p2.add(b1);
        add(p1, "Center");
        add(p2, "South");
        b1.addActionListener(this);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 500);
        setVisible(true);
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection("Jdbc:Odbc:dsn3");
            if (con != null)
                System.out.println("Connection Established");
        }
        catch (Exception e) {
            System.out.println("exception");
        }
    }

    public void actionPerformed(ActionEvent e1) {
        if (e1.getSource() == b1) {
            s2 = t1.getText();
            try {
                pst = con.prepareStatement("UPDATE stud set Marks=? WHERE Roll no=?");
                pst.setString(1, s2);
                pst.setString(2, s1);
                pst.executeUpdate();
                con.commit();
                con.close();
            }
            catch (SQLException e) {
                System.out.println("except1");
            }
            JOptionPane.showMessageDialog(this, "Marks updated succesfully");
            dispose();
        }
    }
}

Thankyou

1 Ответ

2 голосов
/ 08 сентября 2010

Работает ли код доступа к вашей базе данных без Swing? Самый простой способ увидеть это будет что-то вроде:

class HelloDatabase {
  public static void main(String[] args) {
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con = DriverManager.getConnection("Jdbc:Odbc:dsn3");
        if (con != null) {
            int marks = 1, roll = 1; // or whatever (your data here)
            System.out.println("Connection Established");
            PreparedStatement pst = con.prepareStatement("UPDATE stud SET marks=? WHERE roll_num=?");
            pst.setString(1, marks);
            pst.setString(2, roll);
            pst.executeUpdate();
            con.commit();
            con.close();
        }
    }
    catch (Exception e) {
        System.out.println("exception");
    }    
  }
}

Если это получит ручку и правильно получит доступ к вашей базе данных, вам повезет.

Кстати - и это может быть вашей проблемой - Я заметил, что ваш SQL-запрос из оригинального поста содержал двусмысленность:

UPDATE stud set Marks=? WHERE Roll no=?

"Roll no" не распознал бы допустимое поле SQL, насколько я понимаю - это должно быть одно слово (например, "roll", "roll_num" или даже "RollNum" - но я Не думаю, что имя типа «Нет» подойдет здесь.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...