如何使用 table 名称作为变量将数据插入到 sqlite 数据库中
How to insert data to a sqlite database with table name as variable
我想将数据插入到我的 sqlite 数据库中,但使用一个变量作为 table 应该输入数据的名称。
try {
Random rand = new Random();
uniqueID = rand.nextInt(9998) + 1; //Generates a random number from 1 - 9999 inclusively
String dateStart = day1.getText() + "/" + month1.getText() + "/" + year1.getText();
String dateEnd = day2.getText() + "/" + month2.getText() + "/" + year2.getText();
String projectN = projectName.getText();
String addr = address.getText();
//String engineerN = engineerName.getText();
//String engineerP = engineerPassword.getText();
Class.forName("org.sqlite.JDBC");
conn2.setAutoCommit(false);
PreparedStatement ps = conn2.prepareStatement("insert into "My table name" (uniqueid,name,address,startingdate,estcompletion) values(?,?,?,?,?,?)");
ps.setInt(1, uniqueID);
ps.setString(2, projectN);
ps.setString(3, addr);
ps.setString(4, dateStart);
ps.setString(5, dateEnd);
//ps.setString(6, engineerN);
ps.execute();
ps.close();
conn2.commit();
conn2.close();
}
catch ( Exception e1) {
System.err.println( e1.getClass().getName() + ": " + e1.getMessage() );
System.exit(0);
}
}
}
public String JJI() {
return projectName.getText();
}
}
准备好的语句中的 "My table name" 是我想放置从 projectName.getText() 获取的 table 名称的地方;在末尾。用户在另一个class中输入projectname.getText。
感谢您的帮助!
将您的 table 名称存储在字符串变量中(您喜欢):String tableName = "users";
创建一个包含您的 SQL 查询的查询变量:
String query = "insert into '" + tableName + "' (uniqueid,name,address,startingdate,estcompletion) values(?,?,?,?,?,?)";
如果您想插入变量,请替换“?”使用您在代码中所做的变量名称:
ps.setInt(1, uniqueID);
ps.setString(2, projectN);
ps.setString(3, addr);
ps.setString(4, dateStart);
ps.setString(5, dateEnd);
执行查询:
PreparedStatement ps = conn2.prepareStatement(query);
ps.execute();
我想将数据插入到我的 sqlite 数据库中,但使用一个变量作为 table 应该输入数据的名称。
try {
Random rand = new Random();
uniqueID = rand.nextInt(9998) + 1; //Generates a random number from 1 - 9999 inclusively
String dateStart = day1.getText() + "/" + month1.getText() + "/" + year1.getText();
String dateEnd = day2.getText() + "/" + month2.getText() + "/" + year2.getText();
String projectN = projectName.getText();
String addr = address.getText();
//String engineerN = engineerName.getText();
//String engineerP = engineerPassword.getText();
Class.forName("org.sqlite.JDBC");
conn2.setAutoCommit(false);
PreparedStatement ps = conn2.prepareStatement("insert into "My table name" (uniqueid,name,address,startingdate,estcompletion) values(?,?,?,?,?,?)");
ps.setInt(1, uniqueID);
ps.setString(2, projectN);
ps.setString(3, addr);
ps.setString(4, dateStart);
ps.setString(5, dateEnd);
//ps.setString(6, engineerN);
ps.execute();
ps.close();
conn2.commit();
conn2.close();
}
catch ( Exception e1) {
System.err.println( e1.getClass().getName() + ": " + e1.getMessage() );
System.exit(0);
}
}
}
public String JJI() {
return projectName.getText();
}
}
准备好的语句中的 "My table name" 是我想放置从 projectName.getText() 获取的 table 名称的地方;在末尾。用户在另一个class中输入projectname.getText。 感谢您的帮助!
将您的 table 名称存储在字符串变量中(您喜欢):
String tableName = "users";
创建一个包含您的 SQL 查询的查询变量:
String query = "insert into '" + tableName + "' (uniqueid,name,address,startingdate,estcompletion) values(?,?,?,?,?,?)";
如果您想插入变量,请替换“?”使用您在代码中所做的变量名称:
ps.setInt(1, uniqueID); ps.setString(2, projectN); ps.setString(3, addr); ps.setString(4, dateStart); ps.setString(5, dateEnd);
执行查询:
PreparedStatement ps = conn2.prepareStatement(query);
ps.execute();