我正在尝试制作一些mysql表插入操作,但是当我从我的applet输入时,我发现这个java.lang.NullPointerException,无法弄清楚我在这段代码中的错误可以帮助我!我尝试在没有applet的情况下进行数据库操作,使用相同的代码部分
import java.applet.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
public class StudentEntry extends Applet implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
Label l1,l2,l3,l4;
TextField t1,t2,t3,t4;
Button b1;
public void init(){
Label l1=new Label("Enter your Name : ");
add(l1);
TextField t1=new TextField(20);
add(t1);
Label l2=new Label("Enter your Sem : ");
add(l2);
TextField t2=new TextField(20);
add(t2);
Label l3=new Label("Enter your Branch : ");
add(l3);
TextField t3=new TextField(20);
add(t3);
Label l4=new Label("Enter your Contact Number : ");
add(l4);
TextField t4=new TextField(20);
add(t4);
Button b1=new Button("Submit");
add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
try
{
String sname=t1.getText();
String semT=t2.getText();
int sem=Integer.parseInt(semT);
String branch=t3.getText();
String contact=t4.getText();
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Mice","root","1234");
Statement stmt=con.createStatement();
String Uquery="Insert into StudentDetails(student_name,sem,branch,student_con)values('"+sname+"',"+sem+",'"+branch+"','"+contact+"')";
int val=stmt.executeUpdate(Uquery);
if(val==1)
{
System.out.println("succesfull inserted");
}
ResultSet rs=stmt.executeQuery("select * from StudentDetails");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3)+" "+rs.getString(4)+" "+rs.getString(5));
con.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
//代码结尾
答案 0 :(得分:1)
一些事情:
1)请更改System.out.println(e);在catch语句中进入e.printStackTrace(); ,你可能会发现你哪里出错...
2)对于NullPointerException,你的init()函数没有真正初始化你的“TextField t1,t2,t3,t4;”,请使用this.t1在init函数中交换TextField t1。