【发布时间】:2018-03-29 06:31:36
【问题描述】:
我目前正在处理一个后面有数据库的项目,我想用这种方法按列排序文件: 为此方法头有4个不同的参数,第一个是连接,下一个参数是用户名,因为只有上传文件的人才能看到文件,下一个是coloum数据库中的表,下一个是 ASC 或 DESC。
public ArrayList<Daten> meineDaten(Connection conn,String sortierparameter,String spalte,String reihung)
{
//generieren einer ArrayList zum Zwischenspeichern von den Werten aus der Datenbank
ArrayList<Daten> DatenSortiertPrivate = new ArrayList<>();
String READ_DATEN_PRIVATE = null;
//SQL-Abfrage
if(reihung.equals("ASC"))
{
READ_DATEN_PRIVATE="select uploadid,dateityp, dateiname, autor, uploaddatum, dokumentdatum, status from uploaddaten where uploader= ? and zustand='true' order by ? ASC;";
}
else if(reihung.equals("DESC")){
READ_DATEN_PRIVATE="select uploadid,dateityp, dateiname, autor, uploaddatum, dokumentdatum, status from uploaddaten where uploader= ? and zustand='true' order by ? DESC;";
}
//READ_DATEN_PRIVATE="select uploadid,dateityp, dateiname, autor, uploaddatum, dokumentdatum, status from uploaddaten where uploader=? and zustand='true' order by ? ?;";
try {
pstmt = conn.prepareStatement(READ_DATEN_PRIVATE);
pstmt.setString(1, sortierparameter);
pstmt.setString(2, spalte);
rs = pstmt.executeQuery();
System.out.println("SQL: "+READ_DATEN_PRIVATE);
while(rs.next())
{
int uploadid = rs.getInt(1);
String dateityp = rs.getString(2);
String dateiname = rs.getString(3);
String autor = rs.getString(4);
String uploaddatum = rs.getString(5);
String dokumentdatum = rs.getString(6);
String status = rs.getString(7);
Daten zeile = new Daten(uploadid,dateityp,dateiname, autor, uploaddatum, dokumentdatum, status);
DatenSortiertPrivate.add(zeile);
}
pstmt.close(); pstmt=null;
rs.close();rs=null;
} catch (SQLException e) {
e.printStackTrace();
}
return DatenSortiertPrivate;
}
我不知道为什么会这样: SQL Daten auf 网站 angebenselect uploadid,dateityp, dateiname, autor, uploaddatum, dokumentdatum, status from uploaddaten where uploader=?和 zustand='true' 的顺序是?升序;
例如按“dateiname”订购,用户名是 thoker 和 ASC。
此方法将通过单击按钮来使用。
附:对不起我的英语不好
【问题讨论】:
-
您正在打印变量
READ_DATEN_PRIVATE的内容 - 为什么您认为这会改变? -
对您的问题的简短回答“如何获取插入字符串的值的 SQL 语句?”是“你不能”。为什么需要这样做?
标签: sql postgresql jdbc prepared-statement setstring