2002-08-16 Rodrigo Moya <rodrigo@ximian.com>
[mono.git] / mcs / class / System.Data / System.Data.OleDb / TestOleDb.cs
1 using System;
2 using System.Data.OleDb;
3
4 namespace System.Data.OleDb.Test
5 {
6         public class TestOleDb
7         {
8                 private OleDbConnection m_cnc;
9                 
10                 private TestOleDb ()
11                 {
12                         m_cnc = new OleDbConnection ("PostgreSQL");
13                         m_cnc.Open ();
14                 }
15
16                 void DisplayRow (IDataReader reader)
17                 {
18                         for (int i = 0; i < reader.FieldCount; i++) {
19                                 Console.WriteLine (" " + reader.GetDataTypeName (i) + ": " +
20                                                    reader.GetValue (i).ToString ());
21                         }
22                 }
23                 
24                 void TestDataReader ()
25                 {
26                         int i = 0;
27                         string sql = "SELECT * FROM pg_tables";
28                         
29                         Console.WriteLine ("Executing command...");
30                         OleDbCommand cmd = new OleDbCommand (sql, m_cnc);
31                         IDataReader reader = cmd.ExecuteReader ();
32
33                         Console.WriteLine (" Recordset description:");
34                         for (i = 0; i < reader.FieldCount; i++) {
35                                 Console.WriteLine ("  Field " + i + ": " + reader.GetDataTypeName (i));
36                         }
37
38                         Console.WriteLine ("Reading data...");
39                         i = 0;
40                         while (reader.Read ()) {
41                                 Console.WriteLine ("Row " + i + ":");
42                                 DisplayRow (reader);
43                                 i++;
44                         }
45                 }
46
47                 void Close ()
48                 {
49                         m_cnc.Close ();
50                 }
51
52                 static void Main (string[] args)
53                 {
54                         try {
55                                 TestOleDb test = new TestOleDb ();
56                                 test.TestDataReader ();
57                                 test.Close ();
58                         } catch (Exception e) {
59                                 Console.WriteLine ("An error has occured: {0}", e.ToString ());
60                         }
61                 }
62         }
63 }