Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.net.*;
  3. import java.sql.*;
  4. import java.io.*;
  5. import javax.swing.*;
  6. import java.awt.event.*;
  7. import javax.swing.table.*;
  8.  
  9. public class Server extends JFrame {
  10. private Server(String Title) {
  11. super(Title);
  12. setLayout(null);
  13. DefaultTableModel DTM = new DefaultTableModel(0, 0);
  14. String[] colHeads = {"Название", "Тип", "Материал", "Цена", "Количество", "Оценка"};
  15. DTM.setColumnIdentifiers(colHeads);
  16. JTable table = new JTable(DTM);
  17. table.setBackground(Color.getHSBColor(159, 216, 234));
  18. JScrollPane scroll= new JScrollPane(table,
  19. ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
  20. ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  21. scroll.setBounds(50, 5, 350, 250);
  22. add(scroll);
  23. this.setSize(500, 450);
  24. this.setVisible(true);
  25. addWindowListener(new WindowClose());
  26. try {
  27. String myUrl = "jdbc:mysql://localhost:3306/furniture";
  28. Connection db = DriverManager.getConnection(myUrl, "root", "lolomap");
  29. Statement sq = db.createStatement();
  30. StringBuilder x = new StringBuilder();
  31. String sq_str = "SELECT * FROM stock";
  32. ResultSet rs = sq.executeQuery(sq_str);
  33. while (rs.next()) {
  34. String name = rs.getString("name");
  35. String type = rs.getString("type");
  36. String material = rs.getString("material");
  37. double price = rs.getDouble("price");
  38. int amount = rs.getInt("amount");
  39. double avgRating = rs.getDouble("avgRating");
  40. Object[] addingData = {name, type, material, price, amount, avgRating};
  41. DTM.addRow(addingData);
  42. StringBuilder myString = new StringBuilder();
  43. for (Object addingDatum : addingData) {
  44. myString.append(addingDatum);
  45. myString.append("/");
  46. }
  47. String st = myString.toString();
  48. x.append(st);
  49. }
  50. StringBuilder str = new StringBuilder(x.toString());
  51. ServerSocket socket = new ServerSocket(1024);
  52. while (true) {
  53. Socket client = socket.accept();
  54. InputStream is = client.getInputStream();
  55. OutputStream os = client.getOutputStream();
  56. byte[] byteMessage = str.toString().getBytes();
  57. os.write(byteMessage);
  58. boolean flag = true;
  59. while (flag) {
  60. byte[] readMessage = new byte[10000];
  61. is.read(readMessage);
  62.  
  63. String tempString = new String(readMessage, 0, readMessage.length);
  64. if (tempString.trim().compareTo("End") == 0) {
  65. flag = false;
  66. }
  67. else {
  68. str.append(tempString);
  69. String[] arrStr = tempString.split("/");
  70. String newName = arrStr[0];
  71. String newType = arrStr[1];
  72. String newMaterial = arrStr[2];
  73. double newPrice = Double.parseDouble(arrStr[3]);
  74. int newAmount = Integer.parseInt(arrStr[4]);
  75. double newAvgRating = Double.parseDouble(arrStr[5]);
  76. Object[] addingData = {newName, newType, newMaterial, newPrice,
  77. newAmount, newAvgRating};
  78. DTM.addRow(addingData);
  79. String sq_str_insert = "INSERT INTO stock VALUES ('" + newName +
  80. "','" + newType + "','" + newMaterial + "','" +
  81. newPrice + "','" + newAmount + "','" + newAvgRating + "')";
  82. sq.executeUpdate(sq_str_insert);
  83. }
  84. }
  85. is.close();
  86. os.close();
  87. client.close();
  88. }
  89. }
  90. catch (Exception e) {
  91. System.err.println(e.getMessage());
  92. }
  93. }
  94.  
  95. public static void main(String[] args) {
  96. new Server("Server");
  97. }
  98.  
  99. static class WindowClose extends WindowAdapter {
  100. public void windowClosing(WindowEvent we) {
  101. System.exit(0);
  102. }
  103. }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement