Advertisement
Guest User

Untitled

a guest
Jan 9th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.43 KB | None | 0 0
  1. import java.sql.*;
  2.  
  3. public class DataBase {
  4. Statement statement;
  5. int currentIndex = 1;
  6. Boolean dataBaseExists = false;
  7. public DataBase() throws SQLException {
  8. String driver = "com.mysql.jdbc.Driver";
  9. String URL = "jdbc:mysql://127.0.0.1:3306/";
  10. String databaseName = "ankieta";
  11. Connection connection = null;
  12. try {
  13. Class.forName(driver).newInstance();
  14. connection = DriverManager.getConnection(URL, "root", null);
  15. statement = connection.createStatement();
  16. ResultSet resultSet = connection.getMetaData().getCatalogs();
  17. while (resultSet.next()) {
  18. if(databaseName.equals(resultSet.getString(1)))
  19. dataBaseExists=true;
  20. }
  21. } catch (InstantiationException | IllegalAccessException
  22. | ClassNotFoundException | SQLException e) {
  23. System.out.println("Błąd ze sterownikiem bazy danych!");
  24. e.printStackTrace();
  25. }
  26. if(dataBaseExists) {
  27. useDatabase();
  28. DatabaseMetaData dmd = connection.getMetaData();
  29. ResultSet rs = dmd.getTables(null, null, "odpowiedzi", null);
  30. if (!rs.next())
  31. createTables();
  32. }
  33. else {
  34. createDatabase();
  35. }
  36. }
  37.  
  38. public void useDatabase() throws SQLException {
  39. try {
  40. statement.executeUpdate("USE ankieta;");
  41. System.out.println("Używamy bazy - ankieta");
  42. } catch (SQLException e) {
  43. e.printStackTrace();
  44. }
  45. }
  46.  
  47. public void createDatabase() throws SQLException {
  48. try {
  49. statement.executeUpdate("CREATE DATABASE ankieta;");
  50. System.out.println("Utworzona baza danych - ankieta");
  51. useDatabase();
  52. createTables();
  53. } catch (SQLException e) {
  54. e.printStackTrace();
  55. }
  56. }
  57.  
  58. private void createTables() {
  59. String answers = "CREATE TABLE odpowiedzi(Id int, odp varchar(255));";
  60. String questions = "CREATE TABLE bazapytan(pytanie varchar(255), odpA varchar(255), odpb varchar(255), odpC varchar(255), odpD varchar(255));";
  61. try {
  62. statement.executeUpdate(answers);
  63. statement.executeUpdate(questions);
  64. insertQuestions();
  65. } catch (SQLException e) {
  66. e.printStackTrace();
  67. }
  68. }
  69.  
  70. public void insertQuestions() {
  71. String questions = "INSERT INTO bazapytan values (\"Pytanie jeden\",\"odp1\",\"odp2\",\"3\",\"4\")";
  72. try {
  73. statement.executeUpdate(questions);
  74. } catch (SQLException e) {
  75. e.printStackTrace();
  76. }
  77. }
  78. public String readQuestion(int id) {
  79. String question = "";
  80. String sql = ("SELECT pytanie, odpA,odpB,odpC,odpD FROM bazapytan WHERE ID= " + id);
  81. int number;
  82. ResultSet resultSet;
  83. try {
  84. resultSet = statement.executeQuery(sql);
  85. while (resultSet.next()) {
  86. for (number = 1; number < 6; number++)
  87. question += resultSet.getString(number) + "\n";
  88. }
  89. resultSet.close();
  90. } catch (SQLException e) {
  91. e.printStackTrace();
  92. }
  93. return question;
  94. }
  95.  
  96. public int countRows() {
  97. int numberOfRows = 0;
  98. ResultSet resultSet;
  99. try {
  100. resultSet = statement.executeQuery("SELECT COUNT(*) FROM bazapytan");
  101. while (resultSet.next())
  102. numberOfRows = resultSet.getInt(1);
  103. } catch (SQLException e) {
  104. e.printStackTrace();
  105. }
  106. return numberOfRows;
  107. }
  108.  
  109. public void saveInDataBase(String answer) {
  110. int lastIndex = countRows();
  111. try {
  112. if (currentIndex <= lastIndex)
  113. statement.executeUpdate("INSERT INTO odpowiedzi VALUES ('" + currentIndex + "',' " + answer + "')");
  114. currentIndex++;
  115. } catch (SQLException e) {
  116. e.printStackTrace();
  117. }
  118. }
  119.  
  120. public int countValues(int id,int odp) {
  121. int numberOfValues = 0;
  122. ResultSet resultSet;
  123.  
  124. String sql = "SELECT COUNT(*) FROM odpowiedzi WHERE Id=" + id + " AND odp=" + odp;
  125. try {
  126. resultSet = statement.executeQuery(sql);
  127. while (resultSet.next()) {
  128. numberOfValues = resultSet.getInt(1);
  129. }
  130. } catch (SQLException e) {
  131. e.printStackTrace();
  132. }
  133.  
  134. return numberOfValues;
  135. }
  136.  
  137. public String getQuestion(int id) {
  138. String message = "", sql;
  139. ResultSet resultSet;
  140. sql = "SELECT pytanie FROM `bazapytan` WHERE Id=" + id;
  141. try {
  142. resultSet = statement.executeQuery(sql);
  143. while (resultSet.next())
  144. message = resultSet.getString(1);
  145. } catch (SQLException e) {
  146. e.printStackTrace();
  147. }
  148. return message;
  149. }
  150.  
  151. public String getAnswer(int id, String odp) {
  152. String message = "", sql;
  153. ResultSet resultSet;
  154. sql = "SELECT " + odp + " FROM `bazapytan` WHERE Id=" + id;
  155. try {
  156. resultSet = statement.executeQuery(sql);
  157. while (resultSet.next())
  158. message = resultSet.getString(1);
  159. } catch (SQLException e) {
  160. e.printStackTrace();
  161. }
  162. return message;
  163. }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement