Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTable的SQLite语法错误_Java_Swing_Sqlite - Fatal编程技术网

Java JTable的SQLite语法错误

Java JTable的SQLite语法错误,java,swing,sqlite,Java,Swing,Sqlite,希望使用SQLite数据库创建JTable。数据应该来自SQLite数据库,并存储在此数据库中。现在,您可以通过在文本字段中键入来添加新的详细信息。但是,我得到了错误消息:“java.sql.SQLException:near”(“:syntax error” 怎么了 public class SQLite { public static DefaultTableModel model = new DefaultTableModel(); private static JTex

希望使用SQLite数据库创建JTable。数据应该来自SQLite数据库,并存储在此数据库中。现在,您可以通过在文本字段中键入来添加新的详细信息。但是,我得到了错误消息:“java.sql.SQLException:near”(“:syntax error”

怎么了

    public class SQLite     {

public static DefaultTableModel model = new DefaultTableModel();
private static JTextField fieldID;
private static JTextField fieldName;
private static JTextField fieldAge;
private static JTextField fieldAddress;
private static JTextField fieldSalary;
公共静态void main(字符串参数[]){

这是你的问题:

"VALUES (fieldID.getText(), feldName.getText(), Age.getText(), feldAddress.getText(), feldSalary.getText()";
它们被解读为随笔,而不是对
getter
的引用

下面是您必须使用串联来替换它的内容


“值(“+fieldID.getText()+”、“+feldName.getText()+”、“+Age.getText()+”、“+feldAddress.getText()+”、“+feldSalary.getText()+”;”;

使用预处理语句。它更易于编码和维护,并将为您管理分隔符:

String sql = "INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY) VALUES (?, ?, ?, ?, ?)";

PreparedStatement stmt = connection.prepareStatement(sql);

stmt.setString( 1, fieldID.getText() );
stmt.setString( 2, fieldname.getText() );
stmt.setString( 3, ... );
stmt.setString( 4, ... );
stmt.setString( 5, ... );
stmt.executeUpdate();
但是现在我得到了java sql异常:“没有这样的列:ID”


好的,消息是不言自明的。没有“ID”列。我们无法帮助您,因为只有您知道列的专有名称,因为您是创建数据库的人。

谢谢^^^到目前为止,它是有效的,但现在我得到了java sql例外:“没有这样的列:ID”
String sql = "INSERT INTO COMPANY (ID, NAME, AGE, ADDRESS, SALARY) VALUES (?, ?, ?, ?, ?)";

PreparedStatement stmt = connection.prepareStatement(sql);

stmt.setString( 1, fieldID.getText() );
stmt.setString( 2, fieldname.getText() );
stmt.setString( 3, ... );
stmt.setString( 4, ... );
stmt.setString( 5, ... );
stmt.executeUpdate();