[Mono-list] Fwd: Re: [Mono-devel-list] Problem with DbDataAdapter...

Alexandr Sorokin alex at sks.uz
Thu May 19 00:43:57 EDT 2005


I have the same problemm on my .NET application with  postgresql.
On MS .NET all code work good, but then i start project on Mono, i get the 
same error
System.IndexOutOfRangeException: Array index is out of range. on fill 
method.
Redhat 9.0 Mono 1.1.7 postgresql 8.0, latest npgsql from postgres site.
.......
string sqlCmd = "......";
DataSet ds =  new DataSet();
IDbCommand command = connection.CreateCommand();
command.CommandText = sqlCmd;
IDbDataAdapter adapter = new NpgsqlDataAdapter();
adapter.SelectCommand = command;
adapter.Fill(ds);
.....

I try to check the problemm. This error  appear then the sqlCmd contain more 
then 1 result set (2 or more sql select command), but not in all cases.
I have 5 select command, and all of them individually working good. And then 
i  combine the 5 select in 1 sqlCmd, the Fill method of IDbDataAdapter get 
this error.
For testing i try to  to trade places selects in sqlCmd, and error is 
gone!!! But only 4 tables returned to dataset. Then i comment any of 5 
select,  anyway 4 tables has returned. But then i get others 3,4 or 5 select 
command, all working good. I don't understand this bug.

----- Original Message ----- 
From: "Hubert FONGARNAND" <informatique.internet at fiducial.fr>
To: <mono-devel-list at lists.ximian.com>; <mono-list at lists.ximian.com>
Sent: Tuesday, May 17, 2005 5:45 PM
Subject: [Mono-list] Fwd: Re: [Mono-devel-list] Problem with 
DbDataAdapter...


>
>
> ----------  Message transmis  ----------
>
> Subject: Re: [Mono-devel-list] Problem with DbDataAdapter...
> Date: Mardi 17 Mai 2005 14:26
> From: Hubert FONGARNAND <informatique.internet at fiducial.fr>
> To: mono-devel-list at lists.ximian.com
>
> I've applied your patch...
> It corrects the problem with my postgresql app...
> but i get always an error with the same app with oracle :
>
> System.IndexOutOfRangeException: Array index is out of range.
> in <0x00067> System.Data.DataRow:get_Item (System.String columnName,
> DataRowVersion version)
> in <0x00015> System.Data.DataRow:get_Item (System.String columnName)
> in <0x00495> System.Data.Common.DbDataAdapter:BuildSchema (IDataReader
> reader, System.Data.DataTable table, SchemaType schemaType,
> MissingSchemaAction missingSchAction, MissingMappingAction 
> missingMapAction,
> System.Data.Common.DataTableMappingCollection dtMapping)
> in <0x00059> System.Data.Common.DbDataAdapter:BuildSchema (IDataReader
> reader, System.Data.DataTable table, SchemaType schemaType)
> in (wrapper remoting-invoke-with-check)
> System.Data.Common.DbDataAdapter:BuildSchema
> (System.Data.IDataReader,System.Data.DataTable,System.Data.SchemaType)
> in <0x00087> System.Data.Common.DbDataAdapter:FillTable
> (System.Data.DataTable dataTable, IDataReader dataReader, Int32 
> startRecord,
> Int32 maxRecords, System.Int32 counter)
> in (wrapper remoting-invoke-with-check)
> System.Data.Common.DbDataAdapter:FillTable
> (System.Data.DataTable,System.Data.IDataReader,int,int,int&)
> in <0x00117> System.Data.Common.DbDataAdapter:Fill (System.Data.DataSet
> dataSet, System.String srcTable, IDataReader dataReader, Int32 
> startRecord,
> Int32 maxRecords)
> in <0x000ce> System.Data.Common.DbDataAdapter:Fill (System.Data.DataSet
> dataSet, Int32 startRecord, Int32 maxRecords, System.String srcTable,
> IDbCommand command, CommandBehavior behavior)
> in <0x00036> System.Data.Common.DbDataAdapter:Fill (System.Data.DataSet
> dataSet, System.String srcTable)
> in (wrapper remoting-invoke-with-check) 
> System.Data.Common.DbDataAdapter:Fill
> (System.Data.DataSet,string)
> in <0x00121> MoteurCRM.CProfil:RetourneGroupeCommercial (System.String
> cnxstring, System.String televendeur_Id)
> in <0x007e7> FicheClient.Logon:btnValider_Click (System.Object sender,
> System.EventArgs e)
> in (wrapper delegate-invoke)
> System.MulticastDelegate:invoke_void_object_EventArgs
> (object,System.EventArgs)
>
> Thanks...
>
> Le Mardi 17 Mai 2005 12:09, Konstantin Triger a écrit :
>> Agreed, but in fact the provider should set the defaults, not the
>> DataAdapter :-).
>>
>> Regards,
>> Konstantin Triger
>>
>> Sureshkumar T wrote:
>> >>+ bool allowDBNull = value is bool ? (bool)value : false;
>> >
>> >default allowDBNull should be true ;-)
>> >
>> >suresh.
>
> -------------------------------------------------------
> _______________________________________________
> Ce message et les éventuels documents joints peuvent contenir des 
> informations confidentielles.
> Au cas où il ne vous serait pas destiné, nous vous remercions de bien 
> vouloir le supprimer et en aviser immédiatement l'expéditeur. Toute 
> utilisation de ce message non conforme à sa destination, toute diffusion 
> ou publication, totale ou partielle et quel qu'en soit le moyen est 
> formellement interdite.
> Les communications sur internet n'étant pas sécurisées, l'intégrité de ce 
> message n'est pas assurée et la société émettrice ne peut être tenue pour 
> responsable de son contenu.
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list 



More information about the Mono-list mailing list