如何获取多选按钮的值,并把他插入数据库中,java的问题

这是插入的部分,不知道为什么多选按钮的值总是无法取到b1.addActionListener(newActionListener(){publicvoidactionPe... 这是插入的部分,不知道为什么多选按钮的值总是无法取到
b1.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(((JButton)e.getSource()).getText()=="注册")
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

} catch (ClassNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
try {
Connection c=DriverManager.getConnection("jdbc:odbc:card1");
String str = null;
String name=txt1.getText();
String add=liebiao.getSelectedItem().toString();
String jieshao1=jieshao.getText();
String phone1=phone.getText();
Statement s = c.createStatement();

d = (male.isSelected()?"男":"女");
if(check1.isSelected())
str="打球";
if(check2.isSelected())
str+="电动";
if(check3.isSelected())
str+="看书";
if(check4.isSelected())
str+="旅游";
System.out.println(str);
String sql=("insert into car(姓名,地址,性别,爱好,备注,电话) values ('"+name+"','"+add+"','"+d+"','"+str+"','"+jieshao1+"','"+phone1+"')");
s.executeUpdate(sql);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}

}
});
我捕捉到了一个异常
try{

if(check1.isSelected())
{str="打球";}
else
str="";

if(check2.isSelected())
{str+="电动";}
if(check3.isSelected())
{str+="看书";}
if(check4.isSelected())
{str+="旅游";}
System.out.println(str);}catch(NullPointerException e1){System.out.println("发生异常的原因为 :"+e1.getMessage());}这段代码怎样改,改完就给分
展开
 我来答
百度网友f2cbdad2d
2013-11-28
知道答主
回答量:38
采纳率:0%
帮助的人:11.7万
展开全部
我给你用jquery实现:
第一步:<input type="checkbox" id="chooses">控制全选按钮
第二步:<input type="checkbox" name="choose"/>
<input type="checkbox" name="choose"/>
第三步:
$("#chooses").on("click“,function(){
$('[name=choose]:checkbox').attr('checked',this.checked);
});当你点击时已经选中了,然后取值
第四步:
var count = $("[name=choose]:checkbox").length;
for(var i=0;i<count;i++){
if($("[name=choose]:checkbox")[i].checked==true){
alert($("[name=choose]:checkbox")[i].value);//获取的值
}
}
第五步:将获取的值传入后台以数组的形式存下,然后循环insert数据库表中就行了。
第六步:求采纳。
更多追问追答
追问
他出现这个了
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
追答
首先这个是空指针异常;
因为你是复选框,所以获取的值应该首先获取复选框的总数,然后获取总数里面你选择了多少个,然后获取选择了的复选框值,
var count = $("[name=choose]:checkbox").length;
var str = "";
for(var i=0;i<count;i++){
if($("[name=choose]:checkbox")[i].checked==true){
str +=$("[name=choose]:checkbox")[i].value;//获取的值
}
}

//后台这样写
String str[] = request.getParemeterValues("str");
String strs = "";
for(int i=0;i++;i<str.length()){
strs +=str[i]+",";
}
String sql = "insrt into tables(id,name,喜好) values(id,name,strs.substring(0,strs.length-1))";
不非别S
2013-11-28 · TA获得超过699个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:118万
展开全部
str="打球";
这个为什么不是+=
你假如最后一个色选 打球, 那你不就,所有的str全变成"打球"了.就没有其他的值了..

还给你个建议, 你在每个if里面都system.out.print一个日志, 然后去窗口里面点下, 看看是不是每个if都确实都能进..如果都能进,那就肯定没问题, 如果不能进, 表示你没监听到..
我讲的不是答案.是方法.
追问
他说我这段代码出现空值异常,就是多选值的选定1或0取不到
追答
check1 是空? 你捕获的异常是在哪句代码能看到吗? 空指针是最常见的异常, 你得找下为什么是空.这个.除非你把所有代码贴出来, 要不然别人没法改..
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朱可星
2013-11-28 · TA获得超过913个赞
知道小有建树答主
回答量:1860
采纳率:91%
帮助的人:323万
展开全部
多选按钮你用错了。 看哈书,哪个类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式