[Mono-devel-list] Connecting to a db using OleDbConnection

Jonel Rienton jonel at road14.com
Mon Jan 3 20:28:54 EST 2005


Nevermind, I overlooked your connection opening statement.  I usually 
open my connection to the closest code that needs them.

regards,

http://jonel.road14.com
--
I not know English well, but I know 7 computer languages.
								----anonymous


On Jan 3, 2005, at 7:23 PM, Jonel Rienton wrote:

> If I'm not mistaken, to be able to use the reader, the connection has 
> to be explicitly opened and explicitly close when you're done.
>
> http://jonel.road14.com
> --
> I not know English well, but I know 7 computer languages.
> 								----anonymous
>
>
> On Jan 3, 2005, at 11:48 AM, Ankit Jain wrote:
>
>> Hi,
>>
>> I'm trying to compile a simple test program available at
>> http://www.go-mono.com/oledb.html to connect to a db. I believe
>> OleDbConnection uses libgda as the backend to make the actual
>> connection to the database. My installation of libgda is working fine.
>> I've tried adding entries for a PostgreSQL and a MySQL server in the
>> config file and it works fine(tested via gda-test, it can connect ..
>> fetch data etc).
>>
>> But the C# program is not being able to connect. The code:
>>
>> using System;
>> using System.Data;
>> using System.Data.OleDb;
>>
>> public class Test
>> {
>>         public static void Main(string[] args)
>>         {
>>                 try{
>>                         // there is a libgda PostgreSQL provider
>>                         string connectionString =
>>                                 "Provider=PostgreSQL;" +
>>                                 "Addr=127.0.0.1;" +
>>                                 "Database=test;" +
>>                                 "User ID=postgres;" +
>>                                 "Password=";
>>
>>                         IDbConnection dbcon;
>>                         dbcon = new OleDbConnection(connectionString);
>>                         dbcon.Open();
>>
>>                         //IDbCommand dbcmd = dbcon.CreateCommand();
>>
>>                         string sql =
>>                                 "SELECT firstname, lastname " +
>>                                 "FROM employee";
>>                         IDbCommand dbcmd = new OleDbCommand(sql,
>> (OleDbConnection)dbcon);
>>
>>                         Console.WriteLine("CmdText= {0}\n", 
>> dbcmd.CommandText);
>>                         //dbcmd.CommandText = sql;
>>                         IDataReader reader = dbcmd.ExecuteReader();
>>                         while(reader.Read()) {
>>                                 string FirstName = (string) 
>> reader["firstname"];
>>                                 string LastName = (string) 
>> reader["lastname"];
>>                                 Console.WriteLine("Name: " +
>>                                                 FirstName + " " + 
>> LastName);
>>                         }
>>                         // clean up
>>                         reader.Close();
>>                         reader = null;
>>                         dbcmd.Dispose();
>>                         dbcmd = null;
>>                         dbcon.Close();
>>                         dbcon = null;
>>                 }catch(Exception e){
>>                         Console.WriteLine("Exception : {0}\n", 
>> e.Message);
>>                 }
>>         }
>> }
>>
>> And this is the output:
>>
>> Unhandled Exception: System.InvalidOperationException: State != Open
>> in <0x00088> System.Data.OleDb.OleDbCommand:ExecuteReader
>> (System.Data.CommandBehavior)
>> in <0x00048> (wrapper remoting-invoke-with-check)
>> System.Data.OleDb.OleDbCommand:ExecuteReader
>> (System.Data.CommandBehavior)
>> in <0x0000f> System.Data.OleDb.OleDbCommand:ExecuteReader ()
>> in <0x0003b> (wrapper remoting-invoke-with-check)
>> System.Data.OleDb.OleDbCommand:ExecuteReader ()
>> in <0x0000d> 
>> System.Data.OleDb.OleDbCommand:System.Data.IDbCommand.ExecuteReader
>> ()
>> in [0x00037] (at /home/radical/dev/mono/Test.cs:45) Test:Main 
>> (string[])
>>
>> Basically, its not being able to make the actual connection, but it
>> doesnt give the error at dbcon.Open(). It throws the exception when I
>> try to execute a query..
>>
>> What could be the problem here? What am i missing?
>>
>> Regards,
>> -Anks
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>




More information about the Mono-devel-list mailing list