1. MetBo, 21.05.2011 #1
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Hey,

    ich habe einen Newsreader entwickelt und speichere alle News in einer Datenbank. Die News selektiere ich z.B. mit dieser Funktion aus der Datenbank:

    Code:
    public List<Article> getArticleListNew() throws SQLException {
    		DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
    		String d = df.format(new Date());
    		
    		List<Article> articleList = new ArrayList<Article>();
    		Cursor c;
    
    		c = mDatabase.query(T_ARTICLE_NAME, 
    		                    COLUMNS_ARTICLE, 
    		                    T_ARTICLE_SDATE + "='" + d + "'",
    //		                    T_ARTICLE_SDATE + "=strftime(\"%d.%m.%Y\",'now','localtime')",
    		                    null, null, null, 
    		                    T_ARTICLE_STIME + " desc");
    		
    		c.moveToFirst();
    		
    		if (!c.isAfterLast()) {
    			do {
    				Article article = new Article();
    				article = getArticleValues(c);
    				articleList.add(article);
    			} while (c.moveToNext());
    		}
    		
    		c.close();
    		
    		return articleList;
    	}
    
    Die Selectabfrage sieht z.B. so aus:
    Code:
    SELECT articleid, headline, headlineshort, subheadline, abstracttext, url, urlmob, metaurl, author, date, stime, sdate, images, leadimgurl, leadimgwidth, leadimgheight, text, fav, read, top, headlinefull FROM article WHERE sdate='21.05.2011' ORDER BY stime desc
    Nun berichten einige Benutzer, wenn sie die Sprache ihres Systems auf Englisch (en-US) umstellen, dass sie dann keine News angezeigt bekommen.

    Einen Fehlerbericht gibt es nicht, da kein Fehler im Sinne von FC entsteht.


    Nun konnte ich das Problem schon lokalisieren. Es liegt anscheinend an dem Query ... Aber wieso?? Ich habe keine sprachenspezifische Attribute eingebaut ...


    Ist euch auch schon einmal dieses "Phänomen" aufgefallen? Kennt jemand eine plausible Erklärung bzw. Lösung?


    Vielen Dank,
    Grüße

    Edit: Auf meinem SGS2 (Android 2.3.3) konnte ich das Phänomen nicht reproduzieren!! Im Emulator (Android 2.2) aber schon ...





    EDIT: Hat sich erledigt!! Das lag gar nicht an dem Select, sondern beim Einfügen der News in die Datenbank habe ich ein Datum (ohne Datumsformat) mitgegeben ..... Beim Ändern der Sprache war das Datum beim Einfügen in die DB "MM dd yyyy" ... Meine Abfrage hatte aber das Datum "dd mm yyyy". Da kann ja nichts produktives herauskommen ;). Ich habe jetzt beim Einfügen auch ein Datumsformat und siehe daaa! es funktioniert.
     
    Zuletzt bearbeitet: 21.05.2011
  2. maniac103, 23.05.2011 #2
    maniac103

    maniac103 Android-Lexikon

    Die richtige[TM] Lösung wäre allerdings, die Zeit nicht als String, sondern als Timestamp zu speichern. Dann hättest du solche Probleme nicht und könntest jegliches Datumsformat oder auch andere Zeitzonen ohne Aufwand unterstützen.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] MPAndroidChart gruppiertes Barchart: Gruppentitel nicht über Gruppe Android App Entwicklung Freitag um 23:30 Uhr
[ERLEDIGT] Wie kann ich feststellen ob eine SD-Karte migriert wurde Android App Entwicklung Freitag um 13:42 Uhr
[ERLEDIGT] Speicherort verschwindet nach Änderung des Standardpfads in der Systemeinstellung Android App Entwicklung 22.06.2017
[ERLEDIGT] Admob-Einstellungen Android App Entwicklung 20.06.2017
[ERLEDIGT] Eine art Dropbox Android App Entwicklung 20.06.2017
[ERLEDIGT] StartActivityForResult von OpenGL aus. Android App Entwicklung 19.06.2017
[ERLEDIGT] Notification sendet eher zufällig als festgelegt Android App Entwicklung 19.06.2017
[ERLEDIGT] RFID Karten Kommunikation? Android App Entwicklung 18.06.2017
[ERLEDIGT] Kleine Probleme mit einer App Android App Entwicklung 14.06.2017
[OFFEN] Gradle: maven-publish abhängigkeiten Android App Entwicklung 12.06.2017
Du betrachtest das Thema "[Erledigt] Datenbank-Select mit Datumabfrage - abhängig von Sprache?" im Forum "Android App Entwicklung",