On 20 juin 2011, at 08:42, CodeBoy DVM wrote:
> NSEnumerator *enumerator = [ward objectEnumerator];
> id element;
>
> while(element = [enumerator nextObject])
> {
You might want to modernize that code a bit (though this is likely not your
problem here):
for (NSDictionary *element in ward) {
}
Also try to avoid "id" as a type for variables you work with as "id" will
prevent the compiler from doing any static type checking. Better to use the
real class name, with perhaps one type cast.
> sqlite> select * from members where db_id =1127;
> 1127|2202|?????? ||||||||?????D??||||||0|
> sqlite> select * from members where db_id =1177;
> 1177|2015|????h?? ||||||||?f??????||||||0|
>
Select * is not very informative, though we can try to guess. Please select
only the mentioned columns. Also I would inspect your database with a GUI tool
(eg MesaSQLite) to double check those columns.
> I have installed NSLog statements to try to hunt down the problem (those
> NSLogs are in the method shown above), and every time I execute the code, the
> NSLog seems to show the correct information, compared to the CSV:
I would put a breakpoint in the code just before your bind statement, to check
the data you are going to send them is indeed what you expect.
>
> 2011-06-19 22:50:24.534 iClerk[4292:a0f] Processing Person Moody, Isaiah
> Terrell with Birth:1991-09-28 and ID: 2202
> 2011-06-19 22:50:24.534 iClerk[4292:a0f] Trying to bind
>
> 2011-06-19 22:50:24.591 iClerk[4292:a0f] Processing Person White, Lonnie Jay
> with Birth:1973-12-12 and ID: 2015
> 2011-06-19 22:50:24.591 iClerk[4292:a0f] Trying to bind
Perhaps set the values to bind in their own variables, and NSLog those
variables right there. I would even log them *after* the call to sqlite3_step,
just to make sure it's not a weird memory allocation issue.
>
> This particular update contains an array of 105 NSDictionaries to be added,
> and every time, it is only these two that create problems. Everyone else's
> data writes perfectly to the table, and I can SELECT them all I want, no
> hiccups.
>
> I should also mention that there were originally about 5 or 6 other persons
> creating difficulty, but when I narrowed down the desired data to just Full
> Name and Birthdate, it is only these two. (The original routine collects
> about a dozen pieces of information for each person, but my list only needs
> name and birthdate, so I tried to just make it work by only dealing with
> those.)
But did you find out *why* those 5 or 6 persons had problems? If not, by
discarding those 5 or 6 persons, you also discarded information that may have
lead to the reason for the problem.
I am sorry I don't have a better suggestion, I'm pretty much a SQLite newbie
too.
Jean-Denis
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users