2002-05-03 Daniel Morgan <danmorg@sc.rr.com>
[mono.git] / mcs / class / System.Data / Test / TestSqlDataReader.cs
1 //\r
2 // Test/SqlDataRead.cs\r
3 //\r
4 // Test to do read a simple forward read only record set.\r
5 // Using SqlCommand.ExecuteReader() to return a SqlDataReader\r
6 // which can be used to Read a row\r
7 // and Get a String or Int32.\r
8 //\r
9 // Author:\r
10 //      Daniel Morgan <danmorg@sc.rr.com>\r
11 //\r
12 // (C) 2002 Daniel Morgan\r
13 //\r
14 \r
15 using System;\r
16 using System.Data;\r
17 using System.Data.SqlClient;\r
18 \r
19 namespace TestSystemDataSqlClient\r
20 {\r
21         class TestSqlDataReader\r
22         {\r
23 \r
24                 static void Test() { \r
25                         SqlConnection con = null;\r
26                         SqlCommand cmd = null;\r
27                         SqlDataReader rdr = null;\r
28                         \r
29                         String connectionString = null;\r
30                         String sql = null;\r
31 \r
32                         connectionString = 
33                                 "host=localhost;" +
34                                 "dbname=test;" +
35                                 "user=danmorg;" +
36                                 "password=viewsonic";
37 \r
38                         sql =   "select tid, tdesc, aint4 " + \r
39                                 "from sometable";\r
40                         \r
41                         con = new SqlConnection(connectionString);\r
42                         con.Open();\r
43 \r
44                         Console.WriteLine("sql: " +\r
45                                      sql);\r
46 \r
47                         cmd = new SqlCommand(sql, con);\r
48                         rdr = cmd.ExecuteReader();\r
49 \r
50                         // get the DataTable that holds\r
51                         // the schema\r
52                         DataTable dt = rdr.GetSchemaTable();\r
53                         \r
54                         // number of columns in the table\r
55                         Console.WriteLine("dt.Columns.Count: " +\r
56                                 dt.Columns.Count);\r
57 \r
58                         // display the schema\r
59                         for(int c = 0; c < dt.Columns.Count; c++) {\r
60                                 Console.WriteLine("* Column Name: " + \r
61                                         dt.Columns[c].ColumnName);\r
62                                 Console.WriteLine("         MaxLength: " +\r
63                                         dt.Columns[c].MaxLength);\r
64                                 Console.WriteLine("         Type: " +\r
65                                         dt.Columns[c].DataType);\r
66                         }\r
67 \r
68                         // Read and display the rows\r
69                         while(rdr.Read()) {\r
70                                 Console.WriteLine("Row: " +\r
71                                         rdr["tid"].ToString() + ", " + \r
72                                         rdr["tdesc"].ToString() + ", " + \r
73                                         rdr["aint4"].ToString()\r
74                                         );\r
75 \r
76                                 Console.WriteLine("1:" + rdr.GetString(0));\r
77                                 Console.WriteLine("1:" + rdr.GetString(1));\r
78                                 Console.WriteLine("2:" + rdr.GetInt32(2));\r
79                         }\r
80                         \r
81                         rdr.Close();\r
82                         con.Close();\r
83                 }\r
84 \r
85                 [STAThread]\r
86                 static void Main(string[] args)\r
87                 {\r
88                         Test();\r
89                 }\r
90 \r
91         }\r
92 }\r