On Sun, Feb 18, 2018 at 10:02 PM, Olivier Leprêtre <o.lepre...@gmail.com>
wrote:

> Hi,
>
>
>
> I have an sqlite database with wrong information in a timestamp field.
> Using
> System.Data.Sqlite, I want to get this information as a string inside a
> very
> simple loop.
>
>
>
> while (i < reader.FieldCount) {
>
> txt = reader[i].ToString(); // or reader.GetString(i) or
> Convert.ToString(reader.GetValue(i))
>
>

Should be able to get the value from the reader without any conversions
with dataReader[n]

....

odr = ObjectDataReader...

int ord = odr.GetOrdinal( PrimaryKey[i].ColumnName );
object o = odr[ord];


// GetSQLValue( Type t, Object o ) ....

if( t == typeof( DateTime ) )
return MakeDate( connection, Convert.ToDateTime( o ) ).ToString();

public static long MakeDate( DsnConnection dsn, DateTime dt )
{
// should check dsn for beavior NULL dsn being internal datatable
seelctable value
return ( dt.Year * 10000000000 + dt.Month * 100000000 + dt.Day * 1000000 +
dt.Hour * 10000 + dt.Minute * 100 + dt.Second );
}



> i++;
>
> }
>
>
>
> Problem is that if this works for all other fields (integer, varchar...) it
> does not work for timestamp. Regardless reader function used, I get a
> System.Format Exception Invalid DateTime when reading this field.
>
>
>
> How can I avoid this internal cast and just get this information as a text
> string, no matter its inside format ?
>
>
>
> Thanks,
>
>
>
> Olivier
>
>
>
> ---
> L'absence de virus dans ce courrier électronique a été vérifiée par le
> logiciel antivirus Avast.
> https://www.avast.com/antivirus
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to