主题:请问如何将复选框选中的值查入到数据库中去啊 ???
我写了一下代码如下:
<FORM action="insert.jsp" method=get name=form>
<P>您的职业是:</P>
<P>
<!--供选取职业类型的检查框-->
<INPUT type="checkbox" name=box value="student">student
<INPUT type="checkbox" name=box value="teacher">teacher
<INPUT type="checkbox" name=box value="computer">computer
<INPUT type="checkbox" name=box value="doctor">doctor
<INPUT type="checkbox" name=box value="telcet">telcet
</P>
<INPUT type="submit" value="送出" name=submit>
<INPUT type="reset" value="清除" name=reset>
insert.jsp
String box[] = request.getParameterValues("box");
//利用java.lang.reflect套件Array对象的getLength方法取得矩阵长度
int len = java.lang.reflect.Array.getLength(box);
String strSQL="";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程式类别
Connection con = DriverManager.getConnection("jdbc:odbc:test4"); //建立资料库连线
//建立Statement变量, 并设定记录指标类型为可前後移动
Statement stmt = con.createStatement();
rs=stmt.executeQuery("SELECT * FROM admin");
//将游标移动到最后一行:
rs.last();
//获取最后一行的行号:
int number=rs.getRow();
rs.beforeFirst();
//利用for循环输出群组检查框输出的值
if(len<number)
{
for(;len<number;len++)
{
String del="delete from admin where id= "+(len+1)+"";
stmt.executeUpdate(del);
}
}
int i=0;
while(box[i]!="")
{
if(i<number)
{ strSQL="update admin set username='"+box[i]+"' where id"+"="+(i+1)+""; }
else
{ strSQL="insert into admin (username) values ('"+box[i]+"')"; }
stmt.executeUpdate(strSQL);
i++;
}
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
%>
<center><font color="#0000CC">你已经成功插入<a href="show.jsp">查看你插入的信息</a></font></center>
我运行表单可以看到”你已经成功插入查看你插入的信息“
但是数据里没有刚才在复选框里选中的数据
<FORM action="insert.jsp" method=get name=form>
<P>您的职业是:</P>
<P>
<!--供选取职业类型的检查框-->
<INPUT type="checkbox" name=box value="student">student
<INPUT type="checkbox" name=box value="teacher">teacher
<INPUT type="checkbox" name=box value="computer">computer
<INPUT type="checkbox" name=box value="doctor">doctor
<INPUT type="checkbox" name=box value="telcet">telcet
</P>
<INPUT type="submit" value="送出" name=submit>
<INPUT type="reset" value="清除" name=reset>
insert.jsp
String box[] = request.getParameterValues("box");
//利用java.lang.reflect套件Array对象的getLength方法取得矩阵长度
int len = java.lang.reflect.Array.getLength(box);
String strSQL="";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程式类别
Connection con = DriverManager.getConnection("jdbc:odbc:test4"); //建立资料库连线
//建立Statement变量, 并设定记录指标类型为可前後移动
Statement stmt = con.createStatement();
rs=stmt.executeQuery("SELECT * FROM admin");
//将游标移动到最后一行:
rs.last();
//获取最后一行的行号:
int number=rs.getRow();
rs.beforeFirst();
//利用for循环输出群组检查框输出的值
if(len<number)
{
for(;len<number;len++)
{
String del="delete from admin where id= "+(len+1)+"";
stmt.executeUpdate(del);
}
}
int i=0;
while(box[i]!="")
{
if(i<number)
{ strSQL="update admin set username='"+box[i]+"' where id"+"="+(i+1)+""; }
else
{ strSQL="insert into admin (username) values ('"+box[i]+"')"; }
stmt.executeUpdate(strSQL);
i++;
}
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
%>
<center><font color="#0000CC">你已经成功插入<a href="show.jsp">查看你插入的信息</a></font></center>
我运行表单可以看到”你已经成功插入查看你插入的信息“
但是数据里没有刚才在复选框里选中的数据