0
아마도 도움이 될 것입니다. 매우 좋을 것입니다 .-D 그러면이 코드를 내 Activity에서 다른 텍스트 뷰로 표시하려고합니다. 그래서 작업을하지만 LogCat의 System.out.println에 메시지가 표시되지 않습니다. 어떻게 올바르게 사용할 수 있습니까?준비된 문을 사용하여 SQL 예외
public static TextView auswahl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_beschreibung);
auswahl = (TextView) findViewById(R.id.txtauswahl);
auswahl.setText(GlossarFragment.keyword);
//Öffnen des SQL Befehls zum Einlesen des Eintrages
GetBeschreibungFromDBAsyncTask task = new GetBeschreibungFromDBAsyncTask();
task.execute();
List<String> res;
try {
res = task.get();
for(String s:res) {
System.out.println("AAAAAAAAAAAAAAAA: " + s);
}
} catch (InterruptedException e) {
// TODO Automatisch generierter Erfassungsblock
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Automatisch generierter Erfassungsblock
e.printStackTrace();
}
}
이 설명은 데이터베이스에서 설명을 가져 오는 작업입니다.
public class GetBeschreibungFromDBAsyncTask extends AsyncTask<String,Void,List<String>> {
private static String QUERY = "SELECT \"Beschreibung\" FROM \"Glossar\" WHERE \"Name\" = ?;";
private String ausw;
@Override
//im Hintergrund die SQL Abfrage ausgeführt und die Ergebnisse in die Liste eingelesen
protected List<String> doInBackground(String... params) {
ausw = BeschreibungActivity.auswahl.toString();
List<String> res = new ArrayList<String>();
try {
Connection conn;
conn = JdbcConnectionManager.getConnection();
PreparedStatement prepState = conn.prepareStatement(QUERY);
prepState.setString(1, ausw);
ResultSet resSet = prepState.executeQuery();
while(resSet.next()) {
res.add(resSet.getString(1));
}
prepState.close();
conn.close();
} catch (SQLException sqle) {
//bei einem Fehler in der SQL Anweisung
System.out.println("SSSSSSSSSSSSSSSSSSSSSSSSSSSSS");
sqle.printStackTrace();
}
return res;
}
잘 알다시피, 그것은 그런 비상 사태입니다. 학교를위한 프로젝트 일뿐입니다 .-) – user3224612
더 많은 매개 변수를 사용하여 어떻게해야합니까? INSERT 쿼리 에서처럼? 개인 정적 문자열 QUERY = "INSERT INTO \"사용자 \ "(\"ID \ ", \"EMail \ ", \"Ort \ ", \"Passwort \ ") VALUES (?,?,?,?); "; – user3224612
여러 개의'? '를 사용하여 setString (1, XXX), setString (2, YYYY), ...를 사용하여 값을 설정할 수 있습니다. – bwt