initial commit

main
Tylan Tyson 1 year ago
commit c92292acbb

4
.gitignore vendored

@ -0,0 +1,4 @@
.DS_STORE
.idea/
Java SQL Interface.iml
out/

@ -0,0 +1,59 @@
// Imports
import java.sql.*;
// Database Class
public class Database {
// Variables
private Connection connection;
private Statement statement;
// Setup Method
public void setup (String url, String username, String password) throws SQLException {
// Set Variables
this.connection = DriverManager.getConnection(url, username, password);
this.statement = this.connection.createStatement();
}
// Is Setup Method
public boolean isSetup () {
// Return Setup
return this.connection != null && this.statement != null;
}
// Query Method
public String query (String sql) {
// Catch Errors
try {
// Execute Query
ResultSet results = this.statement.executeQuery(sql);
ResultSetMetaData resultsMetaData = results.getMetaData();
// Create Result
StringBuilder result = new StringBuilder();
// Create Header
for (int counter = 1; counter <= resultsMetaData.getColumnCount(); counter++) {
result.append(resultsMetaData.getColumnName(counter));
if (counter != resultsMetaData.getColumnCount()) {
result.append(" - ");
}
}
result.append("\n");
// Create Content
while (results.next()) {
for (int counter = 1; counter <= resultsMetaData.getColumnCount(); counter++) {
result.append(results.getString(counter));
if (counter != resultsMetaData.getColumnCount()) {
result.append(" - ");
}
}
result.append("\n");
}
// Return Result
return result.toString();
} catch (Exception exception) {
// Return Result
return "Query Invalid";
}
}
}

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="Interface">
<grid id="27dc6" binding="panel" layout-manager="GridLayoutManager" row-count="4" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<xy x="20" y="20" width="614" height="400"/>
</constraints>
<properties>
<background color="-13882066"/>
<enabled value="false"/>
<font swing-font="MenuItem.font"/>
<foreground color="-1"/>
<toolTipText value="MySQL Query Tool"/>
</properties>
<border type="none"/>
<children>
<component id="2660b" class="javax.swing.JTextArea" binding="queryInputField">
<constraints>
<grid row="1" column="0" row-span="2" col-span="1" vsize-policy="0" hsize-policy="0" anchor="1" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="280" height="220"/>
<preferred-size width="280" height="220"/>
<maximum-size width="280" height="220"/>
</grid>
</constraints>
<properties>
<background color="-12171706"/>
<foreground color="-1"/>
<text value="Query"/>
<toolTipText value="Query"/>
</properties>
</component>
<vspacer id="4341f">
<constraints>
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="1" anchor="0" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="-1" height="10"/>
<preferred-size width="-1" height="10"/>
<maximum-size width="-1" height="10"/>
</grid>
</constraints>
</vspacer>
<component id="50a8e" class="javax.swing.JButton" binding="queryButton">
<constraints>
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="1" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="290" height="30"/>
<preferred-size width="290" height="30"/>
<maximum-size width="290" height="30"/>
</grid>
</constraints>
<properties>
<background color="-12171706"/>
<foreground color="-12171706"/>
<text value="Query"/>
<toolTipText value="Query"/>
</properties>
</component>
<scrollpane id="c2654">
<constraints>
<grid row="1" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="9" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="280" height="220"/>
<preferred-size width="280" height="220"/>
<maximum-size width="280" height="220"/>
</grid>
</constraints>
<properties>
<background color="-12171706"/>
<foreground color="-1"/>
</properties>
<border type="none"/>
<children>
<component id="6de40" class="javax.swing.JTextArea" binding="queryOutputField">
<constraints/>
<properties>
<background color="-12171706"/>
<editable value="false"/>
<foreground color="-1"/>
<text value="Query Output"/>
<toolTipText value="Query Output"/>
<wrapStyleWord value="false"/>
</properties>
</component>
</children>
</scrollpane>
</children>
</grid>
</form>

@ -0,0 +1,38 @@
// Imports
import javax.swing.*;
// Interface Class
public class Interface extends JFrame {
// Components
private JPanel panel;
private JTextArea queryInputField;
private JTextArea queryOutputField;
private JButton queryButton;
// Interface Method
public Interface(Database database) {
// Create Windows
setTitle("MySQL Query Tool");
setResizable(false);
setSize(600, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(panel);
setVisible(true);
// Query Button Clicked
queryButton.addActionListener( e -> {
// Update Button
queryButton.setText("Querying");
// Get Query
String query = queryInputField.getText();
try {
queryOutputField.setText(database.query(query));
} catch (Exception ex) {
queryOutputField.setText("Error");
}
// Update Button
queryButton.setText("Query");
});
}
}

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="Login">
<grid id="27dc6" binding="panel" layout-manager="GridLayoutManager" row-count="6" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<xy x="52" y="20" width="625" height="356"/>
</constraints>
<properties>
<background color="-13882066"/>
<enabled value="false"/>
<font swing-font="MenuItem.font"/>
<foreground color="-1"/>
<toolTipText value="MySQL Query Tool"/>
</properties>
<border type="none">
<font swing-font="TextField.font"/>
<title-color color="-1"/>
<color color="-11888385"/>
</border>
<children>
<component id="43282" class="javax.swing.JLabel" binding="image">
<constraints>
<grid row="0" column="0" row-span="6" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="0" indent="4" use-parent-layout="false"/>
</constraints>
<properties>
<foreground color="-1"/>
<horizontalAlignment value="0"/>
<horizontalTextPosition value="0"/>
<icon value="images/icon.png"/>
<text value=""/>
</properties>
</component>
<component id="1124" class="javax.swing.JTextField" binding="urlField">
<constraints>
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="200" height="-1"/>
<preferred-size width="200" height="-1"/>
<maximum-size width="200" height="-1"/>
</grid>
</constraints>
<properties>
<background color="-12171706"/>
<enabled value="true"/>
<foreground color="-1"/>
<text value="Database Url"/>
<toolTipText value="Database Url"/>
</properties>
</component>
<component id="b6ebe" class="javax.swing.JTextField" binding="usernameField">
<constraints>
<grid row="2" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="200" height="-1"/>
<preferred-size width="200" height="-1"/>
<maximum-size width="200" height="-1"/>
</grid>
</constraints>
<properties>
<background color="-12171706"/>
<enabled value="true"/>
<foreground color="-1"/>
<text value="Username"/>
<toolTipText value="Username"/>
</properties>
</component>
<component id="8442" class="javax.swing.JPasswordField" binding="passwordField">
<constraints>
<grid row="3" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="200" height="-1"/>
<preferred-size width="200" height="-1"/>
<maximum-size width="200" height="-1"/>
</grid>
</constraints>
<properties>
<background color="-12171706"/>
<foreground color="-1"/>
<text value="Password"/>
<toolTipText value="Password"/>
</properties>
</component>
<component id="90b45" class="javax.swing.JButton" binding="submitButton">
<constraints>
<grid row="4" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="200" height="-1"/>
<preferred-size width="200" height="-1"/>
<maximum-size width="200" height="-1"/>
</grid>
</constraints>
<properties>
<background color="-12171706"/>
<enabled value="true"/>
<foreground color="-12171706"/>
<text value="Login"/>
<toolTipText value="Login"/>
</properties>
</component>
<vspacer id="f8e37">
<constraints>
<grid row="5" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="1" anchor="0" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="-1" height="60"/>
<preferred-size width="-1" height="60"/>
<maximum-size width="-1" height="60"/>
</grid>
</constraints>
</vspacer>
<vspacer id="73da6">
<constraints>
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="1" anchor="0" fill="0" indent="0" use-parent-layout="false">
<minimum-size width="-1" height="55"/>
<preferred-size width="-1" height="55"/>
<maximum-size width="-1" height="55"/>
</grid>
</constraints>
</vspacer>
</children>
</grid>
</form>

@ -0,0 +1,43 @@
// Imports
import javax.swing.*;
// Login Class
public class Login extends JFrame {
// Components
private JPanel panel;
private JLabel image;
private JTextField urlField;
private JTextField usernameField;
private JPasswordField passwordField;
private JButton submitButton;
// Login Method
public Login(Database database) {
// Create Window
setTitle("MySQL Query Tool");
setResizable(false);
setSize(600, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(panel);
setVisible(true);
// Submit Button Clicked
submitButton.addActionListener( e -> {
// Update Button
submitButton.setText("Connecting");
// Get Field Data
String url = urlField.getText();
String username = usernameField.getText();
String password = passwordField.getText();
// Create Connection
try {
database.setup("jdbc:mysql://" + url, username, password);
setVisible(false);
dispose();
} catch (Exception exception) {
submitButton.setText("Login");
}
});
}
}

@ -0,0 +1,18 @@
// Main Class
public class Main {
// Database
public static Database database = new Database();
// Main Method
public static void main (String []args) {
// Login
new Login(database);
while (!database.isSetup()) {
System.out.println(database.isSetup());
}
// Interface
new Interface(database);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Loading…
Cancel
Save