Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.net.*;
- import java.sql.*;
- import java.io.*;
- import javax.swing.*;
- import java.awt.event.*;
- import javax.swing.table.*;
- public class Server extends JFrame {
- private Server(String Title) {
- super(Title);
- setLayout(null);
- DefaultTableModel DTM = new DefaultTableModel(0, 0);
- String[] colHeads = {"Название", "Тип", "Материал", "Цена", "Количество", "Оценка"};
- DTM.setColumnIdentifiers(colHeads);
- JTable table = new JTable(DTM);
- table.setBackground(Color.getHSBColor(159, 216, 234));
- JScrollPane scroll= new JScrollPane(table,
- ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
- ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
- scroll.setBounds(50, 5, 350, 250);
- add(scroll);
- this.setSize(500, 450);
- this.setVisible(true);
- addWindowListener(new WindowClose());
- try {
- String myUrl = "jdbc:mysql://localhost:3306/furniture";
- Connection db = DriverManager.getConnection(myUrl, "root", "lolomap");
- Statement sq = db.createStatement();
- StringBuilder x = new StringBuilder();
- String sq_str = "SELECT * FROM stock";
- ResultSet rs = sq.executeQuery(sq_str);
- while (rs.next()) {
- String name = rs.getString("name");
- String type = rs.getString("type");
- String material = rs.getString("material");
- double price = rs.getDouble("price");
- int amount = rs.getInt("amount");
- double avgRating = rs.getDouble("avgRating");
- Object[] addingData = {name, type, material, price, amount, avgRating};
- DTM.addRow(addingData);
- StringBuilder myString = new StringBuilder();
- for (Object addingDatum : addingData) {
- myString.append(addingDatum);
- myString.append("/");
- }
- String st = myString.toString();
- x.append(st);
- }
- StringBuilder str = new StringBuilder(x.toString());
- ServerSocket socket = new ServerSocket(1024);
- while (true) {
- Socket client = socket.accept();
- InputStream is = client.getInputStream();
- OutputStream os = client.getOutputStream();
- byte[] byteMessage = str.toString().getBytes();
- os.write(byteMessage);
- boolean flag = true;
- while (flag) {
- byte[] readMessage = new byte[10000];
- is.read(readMessage);
- String tempString = new String(readMessage, 0, readMessage.length);
- if (tempString.trim().compareTo("End") == 0) {
- flag = false;
- }
- else {
- str.append(tempString);
- String[] arrStr = tempString.split("/");
- String newName = arrStr[0];
- String newType = arrStr[1];
- String newMaterial = arrStr[2];
- double newPrice = Double.parseDouble(arrStr[3]);
- int newAmount = Integer.parseInt(arrStr[4]);
- double newAvgRating = Double.parseDouble(arrStr[5]);
- Object[] addingData = {newName, newType, newMaterial, newPrice,
- newAmount, newAvgRating};
- DTM.addRow(addingData);
- String sq_str_insert = "INSERT INTO stock VALUES ('" + newName +
- "','" + newType + "','" + newMaterial + "','" +
- newPrice + "','" + newAmount + "','" + newAvgRating + "')";
- sq.executeUpdate(sq_str_insert);
- }
- }
- is.close();
- os.close();
- client.close();
- }
- }
- catch (Exception e) {
- System.err.println(e.getMessage());
- }
- }
- public static void main(String[] args) {
- new Server("Server");
- }
- static class WindowClose extends WindowAdapter {
- public void windowClosing(WindowEvent we) {
- System.exit(0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement