gpt4 book ai didi

JAVA 编程复选框到 MySQL

转载 作者:行者123 更新时间:2023-11-29 22:34:58 25 4
gpt4 key购买 nike

我有四个 JCheckbox。

我可以选择所有四个选项,或者三个,或者两个或者至少一个。

如何获取存储在 MySQL 数据库的单个列中的值?

请参阅下面的代码:

String al = "";
if(foreign.isSelected()){
al = foreign.getText();
}else if(travel.isSelected()){
al2 = travel.getText();
}else if(dang.isSelected()){
al = dang.getText();
}else if(med.isSelected()){
al = med.getText();
}

try{
String sql = "INSERT INTO employee (EmployeeID, FirstName, LastName, FlightInCharge, Allowances, Position, Salary) VALUES (?,?,?,?,?,?,?)";
PreparedStatement stt = con.prepareStatement(sql);

stt.setInt(1, id1);
stt.setString(2, fn);
stt.setString(3, ln);
stt.setString(4, fg);
stt.setString(5, al + al2);
stt.setString(6, po);
stt.setDouble(7, sa);


stt.execute();

最佳答案

我不明白你为什么声明 al2 变量。您的代码看起来不错,我不明白您的确切问题是什么,但请考虑以下更改:

String al = "";
if(foreign.isSelected()){
al = al + foreign.getText();
}
if(travel.isSelected()){
al = al + travel.getText();
}
if(dang.isSelected()){
al = al + dang.getText();
}
if(med.isSelected()){
al = al + med.getText();
}
...
stt.setString(5, al);

请记住,当您从数据库加载数据时,您必须解码此列并为四个字段设置值,并且为了能够做到这一点,您可以在 al 变量中使用分隔符,或者您可以选择唯一这些字段的值,以便您可以确定值对应于哪个字段。

如果它们是复选框,那么它们只有 true 或 false 值,因此您必须使用像 f;f;f;t 这样的分隔符,这意味着前三个('foreign'、'travel' 和 'dang')为 false,并且'med' 为 true,或者您可以将列值设置为 'med:t',这意味着只有 'med' 为 true,其他为 false。 (您必须更新插入“分隔符”的代码)

请注意,将每个字段的值存储在单独的列中使您能够更优雅地查询数据库,并且对于查找具有“foreign = true”条件的所有行之类的查询可能更快。

关于JAVA 编程复选框到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29580559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com