Android :: SQLite Statement Produce Result To Indicate Duplicate Entries?
Oct 28, 2009
For my application, I am trying to add entries without having a duplicate entry, and if there are a duplicate notify the user and have him try again. Using SQLite, which I know very very little about, I have tried these two ways and want to know which one is better, more efficient or a better way to develop it? First way:
db.execSQL("INSERT INTO " + DatabaseHelper.DATABASE_TABLE +
"(LATITUDE, LONGITUDE, RATING) SELECT " + latitude + ", " + longitude + ", " + rating +
" WHERE NOT EXISTS (SELECT 1 FROM " + DatabaseHelper.DATABASE_TABLE +
" WHERE LATITUDE = " + latitude + " AND LONGITUDE = " + longitude + ")");
Second way:
long id = -1;
try { id = db.compileStatement(
"SELECT COUNT(*) FROM " + DatabaseHelper.DATABASE_TABLE
+ " WHERE LATITUDE = " + latitude
+ " AND LONGITUDE = " + longitude)
.simpleQueryForLong();
} catch (NullPointerException e) { return -1;
} return id;
The first way, either inserts or ignores the values, I check by doing so, storing the row-count of the rows into a variable before the call, call that function, and then check its results. If the results is not higher than it was before the call, the insert was made ignored, prompt the user with the 'values exist' message. (Very sloppy, I know but desperate times calls for desperate measures). The second way, returns the actual count of rows that match the numbers I want to store, if the number returned greater than 1, prompt the user with the 'values exist' message. I have been going back and forth, trying different ways but I do not know how to set up SQLite to have UNIQUE pairs, which I was told would be the easiest.
View 3 Replies
Oct 15, 2010
CODE:............................
View 3 Replies
View Related
Jul 23, 2010
I'm developing an application that tracks the user's current position and stores it into a SQLite database. Everything works fine, but now I have the problem when querying the database for a track with more than 1000 records it takes nearly 1.5 minutes. On my Desktop it just takes 1 second. I know it's a query with many subselects but I wasn't able to get the right result another way. In my opinion this belongs to the aggregate functions like avg() and sum().
Here's my query:.................
View 3 Replies
View Related
Mar 23, 2010
I have a query that selects rows in a ListView without having a limit. But now that i have implemented a SharedPreferences that the user can select how much rows will be displayed in the ListView, my SQLite query doesnt work. Im passing the argument this way:
CODE:...................
View 1 Replies
View Related
Aug 13, 2010
When creating my SQLite database in Android I set the database locale - db.setLocale(new Locale("cz_CZ")). This is a Czech locale. A SELECT statement works and takes the locale into account, for example:
SELECT * from table WHERE name='sctzy' COLLATE LOCALIZED
But using LIKE will fail: SELECT * from table WHERE name LIKE '%sctzy%' COLLATE LOCALIZED
BTW. There is no java.text.Normalized class in Android. I thought I could make a second column with a normalized text, stripped of special characters, which would be used for searching - but I am missing a class or way how to normalize the String.
View 1 Replies
View Related
Apr 25, 2009
Anyone working with big sqlite tables and trying to match rows using patterns (for example for autocomplete purposes) ? recently i played with LIKE statement and it seems it will never use table index (if any), you have to use GLOB instead. but....... the weird thing is that you cannot use selectionParams in your query: you have to specify your pattern in selection like:
CODE:........
My words table has two TEXT columns: 'key' and 'value' and index on 'key'
For example: i have table with ~28000 rows and when using selectionParams my query took 1500 ms and without selectionParams 20 ms does it have anything to do with android or its sqlite weird feature?
View 2 Replies
View Related
Jul 29, 2010
If i edit a contact, it's got like 3 rows of the same info listed, what's the best way to clean this out?
View 4 Replies
View Related
Oct 22, 2010
I just bought the Captivate 2 days ago and this is my first Android phone. I have tried to sync my contacts and FB together (not all of my FB contacts as I have 500+) but just the main people I talk to on a regular basis and it has created duplicate entries in my contact list. I know this not an operating hinderance to the phone but it is just annoying.
What is the point of syncing when it just created more entries? It also has duplicates in the drop down to: part when I create a new text message. Should I take all of my contacts off my SIM and copy them to the phone? Is there a way to have one entry for my contacts including the FB pic? I am importing my contacts from hotmail to gmail now and hoping this might help.
View 1 Replies
View Related
Jun 1, 2010
Recently my exchange calendar has shown duplicate entries for the items. It started as two entries and now it is three. I have disabled the calendar for a week, but they showed up again after I re-enabled it. I deleted my exchange account on the phone and re-added it - no changes. How to get rid of the duplicates? I don't have an issue deleting the exchange account from my phone and removing any data files - I just need to know what to remove to clean it up - before I re-add the account.
View 2 Replies
View Related
May 8, 2010
I am trying to update a datetime column in an android sqlite db to use international date format (yyyy-mm-dd) instead of the current format (mm/dd/yyyy). I want to use the sqlite date() function to reformat the current value of the column. I thought it would be as simple as the following: update tblename set thedate = date(thedate)
But the above does not work.
How would i write the sql statement to accomplish this?
View 1 Replies
View Related
May 11, 2012
I'm trying to select the items that have a expiration date >= that an selected date.I'm using the format yyyy-mm-dd, and this is my sql statement:
String sql = "SELECT _id, item, value, finalDate FROM "+DATABASE_TABLE+" WHERE date(finalDate) >= date("+selectedDate+")";
This query always result a "full select" in my database, as if there were no conditions.Some useful information:
selectDate is a String which have a date in yyyy-mm-dd format
I'm executing the query like this:
return db.rawQuery(sql,null);
View 3 Replies
View Related
Dec 12, 2009
Has anyone else noticed a problem with Corporate Calendar showing duplicate meeting entries? Everything was fine until my corporate password expired. After I reset my corporate password, changed the Droids corporate mail/calendar password to match and now all of my calendar entries have been duplicated.
View 8 Replies
View Related
Nov 20, 2009
When I had my blackberry, I had google sync and my calendar on my phone synced with google (and vice versa) now I'm on the Hero, I noticed any entry I make on the phone duplicates and appears in my calendar on the phone twice. But entries I make in google calendar only appear once. How do I stop this?
View 2 Replies
View Related
Sep 24, 2010
I create a table like that
CODE:...........
I update it this way
CODE:..........
I do see the change in eclipse with DDMS questoid
But when i try to retrieve the value I get nothing ....
CODE:.........
I've tried some variant like
CODE:............
With no success
Is this problem come from the type (integer) of my column ?
View 1 Replies
View Related
Aug 8, 2010
I have a database with tables called box, item, and box_contents and I want to get any item that is contained in the box_content table (all items, but discard the ones that arent in the box_contents table). What would be the correct sqllite syntax for this?
View 2 Replies
View Related
Feb 26, 2010
I've recently got a a Tattoo and it is mostly fine (apart from the ridiculously hard to remove battery cover!). But the thing that is driving me nuts is how unstable HTC Sync is. I have uninstalled, re-installed on the PC and phone and had to delete all contacts on the phone once to "cleanse" and still every time I go to sync my calendar and contacts something goes wrong. Duplicates contacts and calendar entries in the phone and and on my PC! My work phone is windows and active sync is a dream compared to this!
View 1 Replies
View Related
Jul 14, 2010
I am sick and tired of deleting duplicate entries in contacts and calendar. There is no rhyme or reason. I get some contacts duplicated numerous times. I get duplicate appointments and my new ones refuse to link to the PC. I have tried everthing that two weeks of constant googling can come up with. I am sooooooo GD sorry that I purchased this POS phone and from my point of view the Android system is also a POS.
Next time I am going to finally bite the bullet and get an iPhone.
If anyone has something new please let me know what to do. I have deleted ALL contacts in Google. I have deleted ALL duplicate contacts at least a dozen times. The stupid system still adds, at random, duplicate contacts and tasks. The stupid phone has even linked contacts with no reason or input from me. The calendar has put holidays in numerous dates. Columbus day was in the calendar seven times when I did the last cleanup (I have done 3 seperate cleanups today alone). Independence day was put on both July 4th and 5th. When I deleted it from the 5th it disappeared altogether. I thought my old Palm Treo was bad.
View 2 Replies
View Related
Sep 25, 2010
I have a table called "images":
CODE:.........
On inserting a row, I'd like the URL column to be unique. At the same time, I'd like to find out the id of the row with that URL.
INSERT OR IGNORE images (url, caption) VALUES ("http://stackoverflow.com", "A logo"); SELECT last_insert_rowid(); -- returns the id iff there was an insert.
Of course, I'd like to do it as quickly as possible, though my first thought was along the the lines of the following pseudo code:
CODE:...........
But this seems hopelessly inefficient.
What is the most performant way of getting the Auto incremented row id from an INSERT OR IGNORE statement.
View 1 Replies
View Related
Jul 9, 2009
I would like to create a table to store device settings. The table has three rows: id, parameter_name and parameter_value. The table was created by executing the following query statement: DATABASE_CREATE = "create table DATABASE_TABLE (KEY_ID INTEGER PRIMARY KEY AUTOINCREMENT, KEY_NAME INTEGER not null, VALUE TEXT not null); and then the rows are stored by executing the following method:
private long insertRow(int rowParameter, String rowValue, SQLiteDatabase db){
long res = -1;
ContentValues settingsParameterValues = new ContentValues();
settingsParameterValues.put(KEY_NAME, rowParameter);
settingsParameterValues.put(VALUE, rowValue);...................
The problem with method insertRow() however is that it can't prevent duplicating the entries. Does anyone know how to prevent duplicate entries in this case?
View 4 Replies
View Related
Sep 28, 2012
I used to have a problem with the media scanner making duplicate song entries, only one would play and the other was invalid. For some reason that went away and now it adds media once and never scans again, so if I add songs later they never get picked up to be shown in the music player or winamp etc.
I found these tips:
go to application manager> all application and search
-media storage,
-music player,
-gallery application
and just delete cache and data and restart. It will solve the problem a it force to re build data base
This works still but it is a complete PITA because it resets wallpapers, ringtones and all sorts of other things to default and I don't want to have to do this every time I add a song. How do I fix the media scanner, does it even have logs or something I can look at?
Galaxy Note i717 ICS 4.0.4.
View 1 Replies
View Related
Oct 19, 2010
I am managing a bunch of PDF files in an android application maintaining a list of records in a SQLite database as well as storing the pdf files on the external storage. Now I would like to present a thumbnail of the first page of the pdf in my list view as part of each cell representing a pdf. I am aware of libraries like iText, fop.. on the JavaSE side that can render a PDF but I would rather not delve into embedding a large library like that. On a similar approach I would also rather not embed a native PDF viewer like droidreader, apv or vudroid.
Otherwise I could of course also get it rendered on a server via some webservice but that is a lot of headache as well. I am already using intents to get the pdf's displayed for the user so I was thinking it would be great if I could get a thumbnail via a intent call as a result somehow. However I found nothing on the web (e.g. on openintents) that indicates something like that exists. So I am a bit at a loss on what to do? What do you think is the best approach to get these thumbnails into my app? Are there any public intents available? Or did I just totally miss something and the SDK provides features for that already (it should imho but currently does not)?
View 1 Replies
View Related
May 25, 2010
Kinda like in the format of a class-dump result but in Java, I already have the Android.jar file and I would like to dump a clean listing of classes and methods for each .class file. How do I do this?
View 1 Replies
View Related
Mar 26, 2010
I have this piece of code which I'm hoping will be able to tell me how much data I have downloaded (and soon put it in a progress bar), and then parse the results through my Sax Parser. If I comment out basically everything above the //xr.parse(new InputSource(request.getInputStream())); line and swap the xr.parse's over, it works fine. But at the moment, my Sax parser tells me I have nothing. Is it something to do with is.read (buffer) section? code...
View 3 Replies
View Related
Nov 15, 2010
Something's missing. I've failed the setup. Incoming gmail should produce an alert of some sort, and it's not happening. I haven't found the button, switch, trigger, or ?? to do it.
The mail is on the phone, but new mail should alert me. It doesn't.
Obviously, it's part of google's IQ test - and I didn't pass.
View 7 Replies
View Related
Feb 16, 2010
I have a strange issue. I am new to java/android but come from a programming background maybe I am just missing or doing something stupid with syntax here. I have a string variable called reportlength
String reportlength;
I then go: reportlength = intent.getExtras().getString("ReportLengt");
Now in my debug console for the variable reportlength it has it set as "d" (that is the correct value it should have)
At this point I have my if statement:
CODE:......................
View 3 Replies
View Related
Jul 20, 2010
So I've got this code (updated for solution).
CODE:.............
The problem I was having was that one of the TextViews would turn grey when it wasn't supposed to. I tried fixing it by always setting the text to black again, but that turned every single one of them grey.
Until I tried:
CODE:................
Don't know why the latter works when setting text grey, but there it is. I guess I'm just a little retarded.
View 7 Replies
View Related
Jan 26, 2010
How can I enable assert statement on Android? I have referred to a url: http://android.git.kernel.org/?p=platform/dalvik.git;a=blob_plain;f=d... and done what it said: adb shell setprop dalvik.vm.enableassertions all but nothing happen! The test code is: Log.v("assert 1","1"); assert false; Log.v("assert 2","2"); No matter what I did, "assert 2" will be printed, which means "assert false" does nothing! What should I do? BTW, I use eclipse as IDE.
View 7 Replies
View Related
Sep 27, 2010
I'm trying to reduce the number of queries I do to the Android's database. Basically I want to get any email or IM address that contains a user defined search term. Right now I'm doing two separate queries:
Email:...............
View 3 Replies
View Related
Mar 1, 2010
I know the error will probably be painfully obvious to you but using cursor.getCount() on the result of the following returns a 0 when there are multiple items in the table and trips the error "Invalid statement in fillWindow()".
CODE:...............
View 3 Replies
View Related
Jul 15, 2010
CODE:...........................
View 1 Replies
View Related