这里我正在从文件中读取学生数据并将其存储在db.For正在使用ArrayList。 例如,将最长的变量名存储在另一个临时变量中
Student(){
private int rollNo;
private String name,department,branch;
private String cgpa;
.
.
.
public int getRollNo(){
return rollNo;
}
public String getName(){
return name;
}
public String getDepartment(){
return department;
}
public String getBranch(){
return branch;
}
public String getCgpa(){
return cgpa;
}
}
和我的ArrayList的变量是
ArrayList<Student> stu;
中序从ArrayList中获取任何领域,我必须使用stu.get(i).getRollNo()
, stu.get(i).getName()
,stu.get(i).getDepartment()
等。这里我多次使用了stu.get(i)
。为了避免我将stu.get(i)
存储在临时变量中。例如
String temp="stu.get(i)."
sql="INSERT INTO STUDENT VALUES('"+temp+"getRollNo()"+"','"+temp+"getName()"+"','"+temp+"getDepartment()"+"','"+temp+"getBranch()"+"',"+Float.parseFloat(temp+"getCgpa()")+")";
但是当我使用temp+"getRollNO()"
时,不调用该方法。请解释这个问题。如果它不可能,请给我另一种方法来实现。
易发生sql注入,因此不推荐。 – Manu 2014-10-01 11:07:52
谢谢...我明白我的错误.. – 2014-10-01 11:12:37
确实,它很容易出现sql注入。但代码中的错误与此部分有关。我同意PreparedStatement解决方案是将数据安全插入数据库的更好解决方案。 – 2014-10-01 11:45:13