gpt4 book ai didi

java - 未知的 sql 查询

转载 作者:行者123 更新时间:2023-11-28 23:27:19 27 4
gpt4 key购买 nike

我试图运行我在互联网上找到的这个项目,但我在 netbeans 中收到这些错误“com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:PROCEDURE contactos.sp_guardar 不存在”,它们是由这两个查询引起的:

更新数据库

String sql = "call sp_guardar(?,?,?,?,?)";

搜索数据库

String sql = "call buscar(?)";

希望在这方面得到帮助。我正在使用通过 xammp 连接的 mysql 数据库

项目代码。

package contactosfx;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;

public class AmigoDao implements AmigoInterface {


public AmigoDao(){

}

@Override

//UPDATE DB
public void guardar(Amigo amigo) {
Connection con = Conexion.conectar();
CallableStatement cs = null;
String sql = "call sp_guardar(?,?,?,?,?)";


try {
cs = con.prepareCall(sql);
cs.setString(1, amigo.getFoto());
cs.setString(2, amigo.getNombre());
cs.setString(3, amigo.getCorreo());
cs.setString(4, amigo.getTelf());
cs.setInt(5, amigo.getEstado());
cs.executeUpdate();
cs.close();
con.close();

} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (con != null) {
cs.close();
con.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}

@Override
public void actualizar(Amigo amigo, int id) {
Connection con = Conexion.conectar();
CallableStatement cs = null;
//String sql = "call sp_actualizar(?,?,?,?,?,?)";


try {
cs = con.prepareCall(sql);
cs.setString(1, amigo.getFoto());
cs.setString(2, amigo.getNombre());
cs.setString(3, amigo.getCorreo());
cs.setString(4, amigo.getTelf());
cs.setInt(5, amigo.getEstado());
cs.setInt(6, id);
cs.executeUpdate();

} catch (SQLException ex) {
ex.printStackTrace();
} finally {
try {
if (!con.isClosed()) {
cs.close();
con.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}

}

@Override
public ObservableList<Amigo> buscar(String nombres) {
Connection con = Conexion.conectar();
CallableStatement cs = null;
ResultSet rs = null;
ObservableList<Amigo> lista = FXCollections.observableArrayList();
String sql = "call buscar(?)";
//String sql = "call search(?)";

try {
cs = con.prepareCall(sql);
cs.setString(1, nombres);
rs = cs.executeQuery();
while(rs.next()){
lista.add(new Amigo(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getInt(6)));
}

} catch (SQLException ex) {
ex.printStackTrace();
}
return lista;
}

@Override
public ObservableList<Amigo> buscarHabilitados() {
Connection con = Conexion.conectar();
Statement st = null;
ResultSet rs = null;
String sql = "select*from habilitados";
ObservableList<Amigo> lista = FXCollections.observableArrayList();
try {
st = con.createStatement();
rs = st.executeQuery(sql);

while (rs.next()) {
lista.add(new Amigo(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getInt(6)));
}
} catch (SQLException e) {
e.printStackTrace();
}
return lista;
}

@Override
public ObservableList<Amigo> buscarDeshabilitados() {
Connection con = Conexion.conectar();
Statement st = null;
ResultSet rs = null;
String sql = "select*from deshabilitados";
ObservableList<Amigo> lista = FXCollections.observableArrayList();
try {
st = con.createStatement();
rs = st.executeQuery(sql);

while (rs.next()) {
lista.add(new Amigo(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getInt(6)));
}
} catch (SQLException e) {
e.printStackTrace();
}
return lista;

}

the database table screenshot

最佳答案

这些是代码编写者认为会在数据库中的存储过程。显然,他们不是。要使其正常工作,您需要实现 sp_guardar 和可能的 buscar 存储过程,或者将它们从代码中删除。

关于java - 未知的 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38755850/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com