Advertisement
Guest User

jk-reifen

a guest
Feb 20th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.31 KB | None | 0 0
  1. package func;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. import util.*;
  10.  
  11. public class Func1 {
  12.  
  13. private Connection conn = null;
  14. private Statement stat = null;
  15. private PreparedStatement pstat = null;
  16.  
  17. public Connection getConnection() {
  18. if(this.conn == null) {
  19. try {
  20. Class.forName("org.sqlite.JDBC");
  21. conn = DriverManager.getConnection("jdbc:sqlite:util/reifen.sqlite");
  22. } catch (Exception e){
  23. System.out.println("Create Connection error");
  24. }
  25. }
  26. return this.conn;
  27. }
  28.  
  29. public Statement getStat() {
  30. if(this.conn == null) {
  31. this.getConnection();
  32. }
  33.  
  34. if(this.stat == null && this.conn != null) {
  35. try {
  36. stat = this.conn.createStatement();
  37. } catch (SQLException e) {
  38. // TODO Auto-generated catch block
  39. System.out.println("Create Statment error");
  40. e.printStackTrace();
  41. }
  42. }
  43. return stat;
  44. }
  45.  
  46. public PreparedStatement getStat(String sql) {
  47. if(this.conn == null) {
  48. this.getConnection();
  49. }
  50.  
  51. if(this.pstat == null && this.conn != null) {
  52. try {
  53. pstat = this.conn.prepareStatement(sql);
  54. } catch (SQLException e) {
  55. // TODO Auto-generated catch block
  56. System.out.println("Create Statment error");
  57. e.printStackTrace();
  58. }
  59. }
  60. return pstat;
  61. }
  62.  
  63. public boolean closeStatement() {
  64. boolean res = false;
  65.  
  66. if(this.stat != null) {
  67. try {
  68. this.stat.close();
  69. res = true;
  70. } catch (Exception e) {
  71. System.out.println("Close Statement error");
  72. }
  73. } else if(this.pstat != null) {
  74. try {
  75. this.pstat.close();
  76. res = true;
  77. } catch (Exception e) {
  78. System.out.println("Close P Statement error");
  79. }
  80. }
  81.  
  82. return res;
  83. }
  84.  
  85. public boolean closeConnection() {
  86. boolean res = false;
  87.  
  88. if(this.conn != null) {
  89. try {
  90. this.conn.close();
  91. res = true;
  92. } catch (Exception e) {
  93. System.out.println("Close Connection error");
  94. }
  95. }
  96.  
  97. return res;
  98. }
  99.  
  100. }
  101. /* und */
  102. package gui;
  103.  
  104. import java.sql.PreparedStatement;
  105. import java.sql.ResultSet;
  106. import java.sql.SQLException;
  107. import java.util.ArrayList;
  108. import java.util.List;
  109. import java.util.stream.Collectors;
  110. import java.util.stream.StreamSupport;
  111.  
  112. import func.Func1;
  113. import javafx.scene.control.TextArea;
  114. import javafx.scene.control.TextField;
  115.  
  116. public class Presenter {
  117.  
  118. private static Func1 f;
  119.  
  120. public static void start(Fenster fenster) {
  121. System.out.println("sql-3");
  122. Presenter.init();
  123.  
  124. fenster.getStart1().setOnAction(e -> {
  125. Presenter.init();
  126. String filter = fenster.getRadioSommer().isSelected()?"S":fenster.getRadioWinter().isSelected()?"W":null;
  127. Presenter.showReifen(fenster.getArea1(), fenster.getTextField(), filter);
  128. Presenter.close();
  129. });
  130.  
  131. fenster.getStart2().setOnAction(e -> {
  132. Presenter.init();
  133. Presenter.showReifenHersteller(fenster.getArea2(), fenster.getCombo().getSelectionModel().getSelectedItem().toString());
  134. Presenter.close();
  135. });
  136.  
  137. }
  138.  
  139. private static void showReifen(TextArea area1, TextField textField, String filter) {
  140. ArrayList<String> al = Presenter.getReifenListe(filter);
  141. textField.setText(al.remove(al.size()-1));
  142. String res = al.stream().map(Object::toString).collect(Collectors.joining("\n"));
  143.  
  144. area1.setText(res);
  145. }
  146.  
  147. private static ArrayList<String> getReifenListe(String filter) {
  148. ArrayList<String> al = new ArrayList<String>();
  149. ResultSet rs = Presenter.getReifen(filter);
  150.  
  151. if (rs != null) {
  152. StringBuilder res = new StringBuilder();
  153. try {
  154. while(rs.next()) {
  155. res.append(rs.getString("artikelnr") +" "+ rs.getString("bezeichnung") +", Reifenart: "+ rs.getString("reifenart") +", Verkaufspreis: "+ rs.getDouble("verkaufspreis") +" Euro");
  156.  
  157. al.add(res.toString());
  158. res.delete(0, res.length());
  159. }
  160. } catch (SQLException e) {
  161. e.printStackTrace();
  162. }
  163. }
  164.  
  165. if (rs == null) {
  166. System.out.println("ResultSet Reifen null");
  167. }
  168.  
  169. if(!al.isEmpty()) {
  170. al.add("Anzahl der Artikel: "+al.size());
  171. }
  172.  
  173. return al;
  174. }
  175.  
  176. private static ResultSet getReifen(String filter) {
  177. ResultSet res = null;
  178. String sql = Presenter.getReifenSelectSQL();
  179.  
  180.  
  181. try {
  182. PreparedStatement ps = f.getStat(sql);
  183. ps.setString(1, filter);
  184. res = ps.executeQuery();
  185. } catch (Exception e) {
  186. System.out.println("Error getReifen");
  187. e.printStackTrace();
  188. }
  189.  
  190. return res;
  191. }
  192.  
  193. private static String getReifenSelectSQL() {
  194. StringBuilder str = new StringBuilder();
  195. str.append(" SELECT ");
  196. str.append(" artikelnr ");
  197. str.append(" ,bezeichnung ");
  198. str.append(" ,reifenart ");
  199. str.append(" ,verkaufspreis ");
  200. str.append(" FROM ");
  201. str.append(" reifen ");
  202. str.append(" where ");
  203. str.append(" reifenart = ? ");
  204.  
  205. return str.toString();
  206. }
  207.  
  208.  
  209.  
  210. private static void showReifenHersteller(TextArea area2, String filter) {
  211. //System.out.println(filter);
  212. ArrayList<String> al = Presenter.getHerstellerListe(filter);
  213. String res = al.stream().map(Object::toString).collect(Collectors.joining("\n"));
  214.  
  215. area2.setText(res);
  216. }
  217.  
  218. private static ArrayList<String> getHerstellerListe(String filter) {
  219. ArrayList<String> al = new ArrayList<String>();
  220. ArrayList<String> al2 = new ArrayList<String>();
  221. ResultSet rs = Presenter.getHersteller(filter);
  222.  
  223. if (rs != null) {
  224. StringBuilder res = new StringBuilder();
  225. try {
  226. while(rs.next()) {
  227. //rs.getString("reifenart").equals("S" != null)?countSommer++:countWinter++;
  228. res.append(rs.getString("artikelnr") +" "+ rs.getString("bezeichnung") +", Hersteller: "+ rs.getString("hersteller") +", Verkaufspreis: "+ rs.getDouble("verkaufspreis") +" Euro");
  229. al2.add(rs.getString("reifenart"));
  230.  
  231. al.add(res.toString());
  232. res.delete(0, res.length());
  233. }
  234. } catch (SQLException e) {
  235. e.printStackTrace();
  236. }
  237. }
  238.  
  239. if (rs == null) {
  240. System.out.println("ResultSet Hersteller null");
  241. }
  242.  
  243. if(!al.isEmpty()) {
  244. if(!al2.isEmpty()) {
  245. // zusatz ermitteln
  246. al.add("");
  247. al.add("davon Sommerreifen: "+al2.stream().filter(e -> e.equals("S")).count());
  248. al.add("davon Winterreifen: "+al2.stream().filter(e -> e.equals("W")).count());
  249. }
  250.  
  251. }
  252.  
  253. return al;
  254. }
  255.  
  256. private static ResultSet getHersteller(String filter) {
  257. ResultSet res = null;
  258. String sql = Presenter.getHerstellerSelectSQL();
  259.  
  260.  
  261. try {
  262. PreparedStatement ps = f.getStat(sql);
  263. ps.setString(1, filter);
  264. res = ps.executeQuery();
  265. } catch (Exception e) {
  266. System.out.println("Error getHersteller");
  267. e.printStackTrace();
  268. }
  269.  
  270. return res;
  271. }
  272.  
  273. private static String getHerstellerSelectSQL() {
  274. StringBuilder str = new StringBuilder();
  275. str.append(" SELECT ");
  276. str.append(" artikelnr ");
  277. str.append(" ,bezeichnung ");
  278. str.append(" ,reifenart ");
  279. str.append(" ,hersteller ");
  280. str.append(" ,verkaufspreis ");
  281. str.append(" FROM ");
  282. str.append(" reifen ");
  283. str.append(" where ");
  284. str.append(" hersteller = ? ");
  285.  
  286. return str.toString();
  287. }
  288.  
  289. private static void close() {
  290. f.closeStatement();
  291. f.closeConnection();
  292.  
  293. }
  294.  
  295. public static void init() {
  296. Presenter.f = new Func1();
  297. }
  298.  
  299. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement