我用PreparedStatement,操作数据库,但出现
java.sql.SQLException: Driver does not support this function 
为什么啊?
String sql = "insert into Customer(phoneNum,name,sex,companyId,address,email)";
sql += " values(?,?,?,?,?,?)";
System.out.print(sql);
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setString(1, phoneNum);
psmt.setString(2, name);
psmt.setString(3, sex);
psmt.setInt(4, companyId);
psmt.setString(5, address);
psmt.setString(6, email);
int count = psmt.executeUpdate(sql);

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【mohugomohu】截止到2008-07-01 10:55:02的历史汇总数据(不包括此帖):
    发帖数:69                 发帖分:3065               
    结贴数:68                 结贴分:3035               
    未结数:1                  未结分:30                 
    结贴率:98.55 %            结分率:99.02 %            
    值得尊敬
      

  2.   

    public String insertCustomer(CustomerObj customer) {// 添加客户
    Connection conn = null;
    String msg = "";
    try {
    conn = ConnectionUtil.getConnection();
    // 获取将添加的客户信息
    String phoneNum = customer.getPhoneNum();
    String name = customer.getName();
    String sex = customer.getSex();
    int companyId = customer.getCompanyId();
    String address = customer.getAddress();
    String email = customer.getEmail();
    String sql = "insert into Customer(phoneNum,name,sex,companyId,address,email)";
    sql += " values(?,?,?,?,?,?)";
    System.out.print(sql);
    PreparedStatement psmt = conn.prepareStatement(sql);
    psmt.setString(1, phoneNum);
    psmt.setString(2, name);
    psmt.setString(3, sex);
    psmt.setInt(4, companyId);
    psmt.setString(5, address);
    psmt.setString(6, email);
    int count = psmt.executeUpdate(sql);
    if (count > 0) {
    msg = "添加成功!";
    } else {
    msg = "添加失败!";
    }
    } catch (Exception ex) {
    System.out.print(ex.toString());
    msg = "系统发生错误!";
    } finally {
    ConnectionUtil.closeConnection(conn);
    }
    return msg;
    }
      

  3.   

    能不能先尝试直接在数据库上执行你的sql语句试试?
      

  4.   

    我原来是用Statement直接拼凑sql语句,没有任何问题。
    现在用PreparedStatement,不知道为什么不行了。
    String sql = "insert into Customer(phoneNum,name,sex,companyId,address,email)";
                sql += " values(?,?,?,?,?,?)";
    values都是问号,怎么能直接在数据库运行啊!
      

  5.   

    String sql = "insert into Customer(phoneNum,name,sex,companyId,address,email)";
                sql += " values(?,?,?,?,?,?)";
    语法就错了
      

  6.   

    看来大家还是要练练眼力啊,
    PreparedStatement psmt = conn.prepareStatement(sql);
    这里已经将sql语句传进去了。
    int count = psmt.executeUpdate(sql);
    这里又传了sql语句进去,肯定错啊哈哈!