我的数据库有两个表;一个名字是kc,里面属性有:kcid,kcname,kctime,kcdidian;
另一个名字是:xk,里面的属性有:studentid,kcname1,kctime1,kcdidian1,kcname2,kctime2,kcdidian2, kcname3,kctime3,kcdidian3 都是string 型;
我想做的是,在kc中根据不同的kcname找到3组katime,kcdidian,存到xk中;kcname通过复选框获取;<%@page import ="java.sql.*"%>
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<html>
  <body>
  <% String select[]=request.getParameterValues("xk");//获取复选框中的内容
   Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
 Connection con =null;
    con=DriverManager.getConnection("jdbc:odbc:sum","","");
    Statement smt =con.createStatement();
    String a=request.getParameter("user1");//从前台获取账号存到数据库xk的studentid;
    ResultSet rs=smt.executeQuery("select kctime from kc where kcname=select[0]");
     rs.next();
     String b=rs.getString("kctime");
     rs=smt.executeQuery("select kcdidian from kc where kcname=select[0]");
      rs.next();
      String c=rs.getString("kcdidian");
      rs=smt.executeQuery("select kctime from kc where kcname=select[1]");
        rs.next();
      String d=rs.getString("kctime"); 
       rs=smt.executeQuery("select kcdidian from kc where kcname=select[1]");
      rs.next();
      String f=rs.getString("kcdidian");
   rs=smt.executeQuery("select  kctime from kc where kcname=select[2]");
      rs.next();
      String g=rs.getString(" kctime");
     rs=smt.executeQuery("select kcdidian from kc where kcname=select[2]");
      rs.next();
      String h=rs.getString("kcdidian"); 
    String sql="INSERT INTO  xk(studentid,kcname1,kctime1,kcdidian1,kcname2,kctime2,kcdidian2, kcname3,kctime3,kcdidian3)VALUES('"+a+"','"+select[0]+"','"+b+"','"+c+"','"+select[1]+"','"+d+"','"+f+"','"+select[2]+"','"+g+"','"+h+"')";//插入语句;
  smt.executeUpdate(sql);
  out.println("选课成功!");     
错误是select附近有语句错误,不知是哪的原因,请各位高手解答~感激不尽

解决方案 »

  1.   

    kcdidian 为什么不叫 kcaddress哪?
      

  2.   

    你这里面的select语句都有问题,没有自己拼接全部用的是直接的字符串,比如ResultSet rs=smt.executeQuery("select kctime from kc where kcname=select[0]");
    应该是
    String query1="select kctime from kc where kcname"+select[0];(我不清楚select[0]参数是什么)
    ResultSet rs=smt.executeQuery(query1);
    还有用的ResultSet有问题,给你留言了加我QQ吧