added missing functionality

This commit is contained in:
2023-01-06 01:51:42 +01:00
parent 89ea9ca70e
commit 58fb02875a
5 changed files with 114 additions and 85 deletions

View File

@@ -114,7 +114,7 @@ public class Database {
sql[11] = """
CREATE TABLE IF NOT EXISTS food_plan (
id integer PRIMARY KEY,
date text,
date text UNIQUE,
food1 integer,
food2 integer,
dessert1 integer,
@@ -137,9 +137,10 @@ public class Database {
id integer PRIMARY KEY,
childid integer,
food_planid integer,
selection integer,
foodid integer,
FOREIGN KEY(childid) REFERENCES child(id),
FOREIGN KEY(food_planid) REFERENCES food_plan(id)
FOREIGN KEY(food_planid) REFERENCES food_plan(id),
FOREIGN KEY(foodid) REFERENCES food(id)
);""";
try(Connection conn = connect(); Statement stmt = conn.createStatement()){
for(int i = 0; i < sql.length; i++){
@@ -330,11 +331,10 @@ public class Database {
}
}
protected static void deleteSample(){
String sql = """
DELETE FROM user WHERE id = ?;""";
protected static void delete(String table, long id){
String sql = "DELETE FROM " + table + " WHERE id = ?;";
try(Connection conn = connect();PreparedStatement ps = conn.prepareStatement(sql)){
ps.setInt(1,1);
ps.setLong(1,id);
ps.executeUpdate();
}catch (SQLException e){
e.printStackTrace();
@@ -344,8 +344,8 @@ public class Database {
private static String queryBuilder(String type,String table, String[] header, String[] values){
String sql;
StringBuilder sb = new StringBuilder();
switch (type){
case "exists":
switch (type) {
case "exists" -> {
sb = new StringBuilder("SELECT (count(*) > 0) as found FROM ");
sb.append(table);
sb.append(" WHERE ");
@@ -353,15 +353,15 @@ public class Database {
sb.append(" LIKE '");
sb.append(values[0]);
sb.append("'");
for (int i = 1; i < header.length; i++){
for (int i = 1; i < header.length; i++) {
sb.append(" AND ");
sb.append(header[i]);
sb.append(" LIKE '");
sb.append(values[i]);
sb.append("'");
}
break;
case "selectMatch":
}
case "selectMatch" -> {
sb = new StringBuilder("SELECT * FROM ");
sb.append(table);
sb.append(" WHERE ");
@@ -369,33 +369,33 @@ public class Database {
sb.append(" LIKE '");
sb.append(values[0]);
sb.append("'");
for (int i = 1; i < header.length; i++){
for (int i = 1; i < header.length; i++) {
sb.append(" AND ");
sb.append(header[i]);
sb.append(" LIKE '");
sb.append(values[i]);
sb.append("'");
}
break;
case "insert":
}
case "insert" -> {
sb = new StringBuilder("INSERT OR IGNORE INTO ");
sb.append(table);
sb.append(" (");
sb.append(header[0]);
for(int i = 1; i < header.length; i++){
for (int i = 1; i < header.length; i++) {
sb.append(",");
sb.append(header[i]);
}
sb.append(") VALUES('");
sb.append(values[0]);
sb.append("'");
for (int i = 1; i < values.length; i++){
for (int i = 1; i < values.length; i++) {
sb.append(",'");
sb.append(values[i]);
sb.append("'");
}
sb.append(");");
break;
}
}
sql = sb.toString();
return sql;
@@ -427,7 +427,7 @@ public class Database {
protected static List<String> select(String table,String[] header, String[] values){
List<String> data = new ArrayList<>();
StringBuilder sb = new StringBuilder();
StringBuilder sb;
String sql = queryBuilder("selectMatch",table,header,values);
try(Connection conn = connect()) {
PreparedStatement ps = conn.prepareStatement(sql);