我想在将值传递给参数时创建一个方法,它将传递给 sql 语句。 这是我试过的:
import java.sql.*;
import java.util.*;
import java.text.*;
public class cobadatabase{
protected String sn,fn,ln;
private Connection conn;
private PreparedStatement st;
public cobadatabase(String studentnumber)
{
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/studentrecords","root","");
st = conn.prepareStatement("SELECT * FROM student WHERE Student_Number=?");
ResultSet rs = st.executeQuery();
while (rs.next()){
sn = rs.getString(1);
fn = rs.getString(2);
ln = rs.getString(3);
SimpleDateFormat ft = new SimpleDateFormat("kk:mm:ss");
ft.format(rs.getTime("Total Time").getTime());
}
}
catch(Exception e){
e.printStackTrace();
}
我不知道我的代码有什么问题。我只想检索打印数据
最佳答案
您还没有在prepareStatement
中设置参数
st = conn.prepareStatement("SELECT * FROM student WHERE Student_Number=?");
// You need to set the parameter for `?`
st.setString(1, studentnumber); // Add this code in between..
ResultSet rs = st.executeQuery();
实际上那不是方法..那是您正在使用的构造函数
..您将它用于错误的目的..
从技术上讲,构造函数的唯一目的是初始化正在创建的对象的属性,或者初始化使用环境..
要使用数据库查询
,或执行任何其他类型的任务,您应该使用一个方法,并调用它..
关于java - 传递参数从mysql java检索数据的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12772080/