Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

thực hiện quy trình được lưu trữ trong tập lệnh ứng dụng google

Có lẽ đọc phần này có thể giúp bạn: Gọi thủ tục lưu trữ MySQL từ JDBC

Đây là nơi bạn sai:

mysqlquery = mysqldbconn.prepareCall(vstrSQLStatement);

Bạn không sử dụng 'callstoredprocedure' đã khai báo.

Đọc ví dụ bên dưới:

public static void getSkills(int candidateId) {
    // 
    String query = "{ call get_candidate_skill(?) }";
    ResultSet rs;

    try (Connection conn = MySQLJDBCUtil.getConnection();
            CallableStatement stmt = conn.prepareCall(query)) {

        stmt.setInt(1, candidateId);

        rs = stmt.executeQuery();
        while (rs.next()) {
            System.out.println(String.format("%s - %s",
                    rs.getString("first_name") + " "
                    + rs.getString("last_name"),
                    rs.getString("skill")));
        }
    } catch (SQLException ex) {
        System.out.println(ex.getMessage());
    }
}

Hãy để tôi giải thích:Truy vấn được xác định, tương tự như lệnh gọi của bạn chấp nhận 1 tham số không trả về giá trị. Sau đó, nó được sử dụng trong:conn.prepareCall (), sau đó tham số được đặt thành câu lệnh và sau đó nó được thực thi.

Như tôi đã đề cập, bạn nên làm điều này:

mysqlquery = mysqldbconn.prepareCall(callstoredprocedure);

Vui lòng cho tôi biết, nếu điều này khắc phục được sự cố của bạn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thứ tự Mysql bằng cách sử dụng hai cột

  2. Cách cập nhật chỉ một cột của bảng sql bằng tệp csv

  3. Chèn vào MySQL từ R

  4. Tôi có nên mysql_real_escape_string nhập mật khẩu trong biểu mẫu đăng ký không?

  5. mysql tìm id nhỏ nhất + duy nhất có sẵn