Здесь я пытаюсь получить имя, mat, eng, sci mark на основе idno1, но я не смог получить желаемый результат. Если я использую метод (rs.next()) {}, он указывает на последнюю строку в SQL. Так кто-то может помочь мне, пожалуйста. Я прикрепил свой код ниже
public class display extends javax.swing.JFrame
{
String url = "jdbc:mysql://localhost:3306/person?useSSL=false";
String name = "Vzlys";
String Pass = "Vzlys@1995";
String query = "select * from details where idno=?";
String query1 = "select * from details";
String id1,name1,mat1,eng1,sci1;
Connection con = null;
ResultSet rs = null;
PreparedStatement st = null;
private void closeActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
private void submitActionPerformed(java.awt.event.ActionEvent evt) {
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url,name,Pass);
st = con.prepareStatement(query);
id1 = iddis.getText();
rs = st.executeQuery(query1);
while(rs.next())
{
if(id1 == rs.getString(1))
{
data = 1;
}
}
if(data==1)
{
name1 = rs.getString(2);
mat1 = rs.getString(3);
eng1 = rs.getString(4);
sci1 = rs.getString(5);
}
else
{
JOptionPane.showMessageDialog(null,"Invalid idno");//IT IS ONLY PRINTING THIS
}
namedis.setText(name1);
matdis.setText(mat1);
engdis.setText(eng1);
scidis.setText(sci1);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
}
rs.next
хотя строка базы данных по- rs.next
. Таким образом, вы можете найти подходящую строку таким образом. После этого вы можете выполнить свой query
на этом ResultSet
и получить coloumns строки, в которую вы выполнили query
.