java - 传递参数从mysql java检索数据的方法

标签 java mysql methods

我想在将值传递给参数时创建一个方法,它将传递给 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/

相关文章:

java - 语言检测器

java - 通过 Android 客户端连接到 WCF 服务

php - 如何查找mysql中任何关键字匹配的所有结果

php - SQL查询中的for循环

java - 如何使用返回对象的getter方法?

java - 匿名结果 :NaN

java - Eclipse 无法解析类型,但类位于构建路径上

mysql - 重命名 Mysql 重复值

java - 从列表中读取文件

ruby - 使用 * 访问方法中的值