Android 使用预处理语句的SQL异常

Android 使用预处理语句的SQL异常,android,prepared-statement,Android,Prepared Statement,也许你会帮助我,而且,这将是非常好的:-D然后我在我的活动中得到这个代码,我想在另一个文本视图中显示这个细节。因此,我打开了任务,但在LogCat的System.out.println中甚至看不到消息。我怎样才能正确使用它 public static TextView auswahl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

也许你会帮助我,而且,这将是非常好的:-D然后我在我的活动中得到这个代码,我想在另一个文本视图中显示这个细节。因此,我打开了任务,但在LogCat的System.out.println中甚至看不到消息。我怎样才能正确使用它

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();
    }

} 
publicstatictextview-auswahl;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_beschreibung);
auswahl=(TextView)findViewById(R.id.txtauswahl);
setText(GlossarFragment.keyword);
//Öffnen des SQL Befehls zum Einlesen des Eintrages
GetBeschreibungFromDBAsyncTask任务=新建GetBeschreibungFromDBAsyncTask();
task.execute();
列表资源;
试一试{
res=task.get();
for(字符串s:res){
System.out.println(“aaaaaaaaaaaa:+s”);
}
}捕捉(中断异常e){
//TODO Automaticsh generierter Erfassungsblock
e、 printStackTrace();
}捕获(执行例外){
//TODO Automaticsh 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;
    }
公共类GetBeschreibungFromDBAsyncTask扩展了AsyncTask{
私有静态字符串QUERY=“从\“Glossar\”中选择\“Beschreibung\”,其中\“Name\”=?;”;
专用字符串ausw;
@凌驾
//我暗示你要在我的名单上写下你的名字
受保护列表doInBackground(字符串…参数){
ausw=BeschreibungActivity.auswahl.toString();
List res=new ArrayList();
试一试{
连接接头;
conn=jdbconnectionmanager.getConnection();
PreparedStatement prepState=conn.prepareStatement(查询);
预状态设置字符串(1,ausw);
ResultSet-Reset=prepState.executeQuery();
while(reset.next()){
res.add(reset.getString(1));
}
prepState.close();
康涅狄格州关闭();
}捕获(SQLException sqle){
//贝伊内姆·费勒(bei einem Fehler)在安维松
系统输出打印项次(“SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS;
printStackTrace();
}
返回res;
}

声明参数的正确方法是使用
,比如
其中someColumn=?


顺便问一下,您想使用哪种数据库?JDBC这可能不是使用区域设置SQLite db的最佳方式(我甚至不知道它是受支持的).

我知道,这是一个非常紧急的解决方案。这只是学校的一个项目;-)你能告诉我如何使用更多的参数来实现这一点吗?比如在插入查询中?私有静态字符串查询=“插入到用户”(“ID\”,“EMail\”,“Ort\”,“Passwort\”)值(?,,,;”;您可以使用多个
然后使用设置字符串(1,XXX)、设置字符串(2,YYYY)设置值。。。