从组合框获取价值到数据库
Getting value from combobox to database
我应该使用什么特定的命令或算法来获取在 JComboBox 中选择的值,然后将其插入到特定的数据库中?
如何从组合框中获取值和如何将值插入数据库是两个完全不同的问题。
至于提取值,您可以使用 String x = String.valueOf(JComboBox.getSelectedItem());
行中的内容,但至于如何将其推入数据库 - 好吧,这是一个更大的问题,它取决于许多变量,例如您的数据库类型、主机、网络等
要获取所选值,
字符串值=JComboBox.getSelectedItem().toString();
请注意,您需要确保已对其进行初始化并且它至少具有一个元素,否则您将遇到异常。在这种情况下,我将使用 sqlite,但正如他们之前所说,数据库逻辑完全由您决定。
public Stack() {
JComboBox<Object> box = new JComboBox<Object>();
// This can work
Object value = box.getSelectedItem();
DatabaseManager manager = new DatabaseManager();
manager.init();
if (DatabaseManager.insertRecord(value.toString()))
System.out.println("Record Inserted");
else
System.out.println("Record Insertion Failed");
}
static class DatabaseManager {
static Connection con;
static Statement stmt;
void init() {
try {
Class.forName("org.sqlite.JDBC");
con = DriverManager
.getConnection("jdbc:sqlite:database.sqlite");
if (!con.isClosed()) {
stmt = con.createStatement();
stmt.executeUpdate("create table if not exists item (id integer primary autoincrement, value varchar(100) not null");
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
static boolean insertRecord(String item) {
try {
if (stmt.executeUpdate("insert into item (value) values('"
+ item + "')") > 0)
return true;
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
}
我应该使用什么特定的命令或算法来获取在 JComboBox 中选择的值,然后将其插入到特定的数据库中?
如何从组合框中获取值和如何将值插入数据库是两个完全不同的问题。
至于提取值,您可以使用 String x = String.valueOf(JComboBox.getSelectedItem());
行中的内容,但至于如何将其推入数据库 - 好吧,这是一个更大的问题,它取决于许多变量,例如您的数据库类型、主机、网络等
要获取所选值, 字符串值=JComboBox.getSelectedItem().toString();
请注意,您需要确保已对其进行初始化并且它至少具有一个元素,否则您将遇到异常。在这种情况下,我将使用 sqlite,但正如他们之前所说,数据库逻辑完全由您决定。
public Stack() {
JComboBox<Object> box = new JComboBox<Object>();
// This can work
Object value = box.getSelectedItem();
DatabaseManager manager = new DatabaseManager();
manager.init();
if (DatabaseManager.insertRecord(value.toString()))
System.out.println("Record Inserted");
else
System.out.println("Record Insertion Failed");
}
static class DatabaseManager {
static Connection con;
static Statement stmt;
void init() {
try {
Class.forName("org.sqlite.JDBC");
con = DriverManager
.getConnection("jdbc:sqlite:database.sqlite");
if (!con.isClosed()) {
stmt = con.createStatement();
stmt.executeUpdate("create table if not exists item (id integer primary autoincrement, value varchar(100) not null");
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
static boolean insertRecord(String item) {
try {
if (stmt.executeUpdate("insert into item (value) values('"
+ item + "')") > 0)
return true;
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
}