SQLite Forum

sqlite3_exec: the 3rd argument
>or it could be simply that you have not yet told the auto-magic marshaling builder

The 32-bit problem manifests itself even when I am not using marshalling to get the string values - I pass a single pointer to the callback and (minimally) use something like this:

            string[] values = new string[n];
            string[] names = new string[n];          
            int ptr_size = Marshal.SizeOf(typeof(IntPtr));
            for (int i=0; i<n; i++)
                IntPtr vp;

                vp = Marshal.ReadIntPtr(values_ptr, i * ptr_size);
                values[i] = util.from_utf8(vp);

                vp = Marshal.ReadIntPtr(names_ptr, i * ptr_size);
                names[i] = util.from_utf8(vp);
where values_ptr is a single pointer for values & the corresponding pointer for column names is names_ptr; n is the number of columns.