try
{
st=cn.createStatement();
String strUser="";
rs=st.executeQuery("SELECT * FROM chsl_db WHERE name='"+nametxt.getText()+"'");
while(rs.next())
{
strUser=rs.getString(1);
}
if(strUser.equals(nametxt.getText()))
{
st= cn.createStatement();
rs = st.executeQuery("SELECT * FROM chsl_db WHERE name ='" + nametxt.getText() + "'");
while (rs.next())
{
titletxt.setText(rs.getString(1));
nametxt.setText(rs.getString(2));
flatnum.setText(rs.getString(3));
areatxt.setText(rs.getString(4));
emailtxt.setText(rs.getString(5));
deletebutton.setEnabled(true);
}
st.close();
}
else
{
JOptionPane.showMessageDialog(null,"No Data Found!","Security Warning",JOptionPane.WARNING_MESSAGE);
}
}
catch(SQLException s)
{
System.out.println("No record found!\n\n\n");
System.out.println("SQL Error" + s.toString() + " " + s.getErrorCode() + " " + s.getSQLState());
}
catch(Exception x)
{
System.out.println("Error" + x.toString()+" " + x.getMessage());
}
}
데이터베이스로 MySql Workbench를 사용하십시오. 데이터베이스에 데이터 삽입이 작동하지만 동일한 데이터를 검색 할 수 없습니다. "No Data Found!"오류가 발생합니다. 연결과 확인을 확인했습니다. 다음은 연결에 사용 된 코드입니다. 도와주세요 !!MySql 데이터베이스에서 Jtextfield로 데이터를 가져올 수 없습니다.
try
{
Class.forName("java.sql.Driver");
cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/avinash?useSSL=false","root","password");
}
catch(ClassNotFoundException e)
{
System.err.println("Failed to load driver");
e.printStackTrace();
}
catch(SQLException e)
{
System.err.println("Unable to connect");
e.printStackTrace();
}
스택 오버플로 질문에 대한 코드의 형식을 지정하는 데 많은 노력을 기울이십시오. 지금은 들쭉날쭉하게 들여다 보입니다. 그런 다음,'PreparedStatement'와 매개 변수화 된 SQL을 사용하십시오. 현재의 접근 방식은 SQL 주입 공격과 변환 실패에 취약합니다. –
'strUser'는 항상 db의 마지막 행의 이름을 포함합니다. –
또한 SQL 인젝션을 방지하기 위해 준비된 문을 사용해야합니다. –