我试图将数据输入表格。表名是从另一个类中获取的变量。我正在使用getter方法。
在我的第一堂课中,我设置了:
public String getprojectname() {
return projectname.getText();
}
在我的第二堂课中,这是我的代码:
btnDone.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
enterproject1 obj1 = new enterproject1();
String pn = obj1.getprojectname();
Connection conni = null;
try {
Class.forName("org.sqlite.JDBC");
conni = DriverManager.getConnection("jdbc:sqlite://C://Users//Asus//Dropbox//Admin.sqlite");
String query= "insert into " + obj1.getprojectname() + " (engname,engpass,startingdate,estdate) values(?,?,?,?)";
PreparedStatement pst= conni.prepareStatement(query);
pst.setString(1, engineername.getText());
pst.setString(2, engpass.getText());
pst.setString(3, startingdate.getText());
pst.setString(4, estdatee.getText());
pst.execute();
JOptionPane.showMessageDialog(null, "Data Saved!");
System.out.println(pst.toString());
pst.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
我试图从文本字段和其他类调用该值。这是这个例外的原因吗?
java.sql.SQLException:[SQLITE_ERROR] SQL错误或缺少数据库(接近"(":语法错误)
答案 0 :(得分:0)
你在做:
enterproject1 obj1 = new enterproject1();
String pn = obj1.getprojectname();
然后
String query= "insert into " + obj1.getprojectname() + " (engname,engpass,startingdate,estdate) values(?,?,?,?)";
什么是 obj1.getprojectname(); ?我想这可能是“”。因此,您没有在插入中指定表名。这就是sintax错误的原因。
编辑:
您正在创建一个新实例:new enterproject();
您能带上该类的构造函数吗?您确定projectname
有数据吗?