Well, I guess I was not clear in my explanations. I'm already doing my own locking, that's the problem! But I'm not sure how to improve it.
My problem here is the following: I am doing a search through all record, could be long. Do some string matching, cutting, etc with all text of all records. For a good user experience my application doesn't block but do that in a thread. Therefore the user still has the hand and could do other things such as update 1 value. At which stage the data will be saved it and..... that will froze the application because the search/select already get the database lock. Now I wonder how to work around the problem? could I have 2 connection and the connection which runs the select could intermix with the update command of the other thread? is it thread unsafe only when moving the database cursor? is i.e. I jyst have to lock everytim I move the cursor so I could mix both the select and the update? any tips?