Thank you for the reply Thomas,

I found that an extra space would not let me set the field to a value.
I went over your code, and I managed to get the script working for me. I am 
looking through ther bind functions to see the benefit.

Thanks again,
My sqlite3 is working good now, since I know more about what I am doing,
Roman

On Wednesday 05 April 2006 05:59 am, Thomas Chust wrote:
> On Tue, 4 Apr 2006, Roman wrote:
> > [...]
> > I have tried
> >
> > sqlite> select * from loc_configuration;
> > 0|0|18|52|86|4|24|22|51|116|39|15|0|0|0|0|0|0|0|0|0|0|0|0
> >
> > The blob is the one before the last one, and the length is the very last
> > one The serials are second, third , fourth and fifth columns.
> >
> > sqlite> UPDATE loc_configuration SET loc_authorization_code_length = 18,
> > loc_authorization_code = X'000102030405060708' WHERE loc_serial_0=0 AND
> > loc_serial_1=18 AND loc_serial_2=52 AND loc_serial_3=86;
> > sqlite> select * from loc_configuration;
> >
> > 0|0|18|52|86|4|24|22|51|116|39|15|0|0|0|0|0|0|0|0|0|0||0
> >
> > I get no response or error from sqlite3.
> > [...]
>
> Hello Roman,
>
> I wonder why your loc_authorization_code_length column still seems to be 0
> after the update, but otherwise this behaviour looks normal and correct.
> Here is what I did to check:
>
> $ sqlite3
> SQLite version 3.3.4
> Enter ".help" for instructions
> sqlite> CREATE TABLE loc_configuration(
>     ...>   loc_serial_0 INTEGER, loc_serial_1 INTEGER,
>     ...>   loc_serial_2 INTEGER, loc_serial_3 INTEGER,
>     ...>   loc_authorization_code BLOB,
>     ...>   loc_authorization_code_length INTEGER);
> sqlite> INSERT INTO loc_configuration VALUES(0, 18, 52, 86, 0, 0);
> sqlite> SELECT * FROM loc_configuration;
> 0|18|52|86|0|0
> sqlite> UPDATE loc_configuration
>     ...>    SET loc_authorization_code_length = 18,
>     ...>        loc_authorization_code = X'000102030405060708'
>     ...>  WHERE loc_serial_0 = 0 AND loc_serial_1 = 18
>     ...>    AND loc_serial_2 = 52 AND loc_serial_3 = 86;
> sqlite> SELECT * FROM loc_configuration;
> 0|18|52|86||18
> sqlite> SELECT length(loc_authorization_code) FROM loc_configuration;
> 9
> sqlite> SELECT quote(loc_authorization_code) FROM loc_configuration;
> X'000102030405060708'
>
> Note that the BLOB column does not contain printable characters and is
> therefore output as an empty string in the normal output mode, but you can
> always get a quoted version with the quote function. Anyway you should
> not have any quoting problems if you are accessing your database from C or
> C++.
>
> cu,
> Thomas

Reply via email to