using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Data; using System.Data.SqlClient; namespace yumen { class Program { static string connectionstring = string.Empty; static void Main(string[] args) { int i; connectionstring = "Data Source=.;Initial Catalog=student;User ID=sa;Password=shenbao"; Console.WriteLine("请输入一个数"); do { i = Convert.ToInt32(Console.ReadLine()); switch (i) { //第一种方法 case 1: SqlConnection conn = new SqlConnection(connectionstring); conn.Open(); try { if (conn.State == ConnectionState.Open) { Console.WriteLine("这是第一种方法,可以成功连接到数据库"); } SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "select *from student"; //cmd.CommandType = CommandType.Text; SqlDataReader dr =cmd.ExecuteReader(); while (dr.Read()) { Console.WriteLine("{0}{1}{2}" , dr[0], dr[1], dr[2]); } } catch (SqlException ex) { Console.WriteLine("出现连接错误:{0}", ex.Message); } finally { if (conn.State == ConnectionState.Open) { //conn.Close();//关闭之后还可以重新打开 conn.Dispose();//清理所占用的资源 } } break; //第二种方法 case 2: SqlConnection conn1 = new SqlConnection(connectionstring); try { conn1.Open(); SqlCommand cmd = new SqlCommand("select *from student"); cmd.Connection = conn1; SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable("student1"); sda.Fill(dt); DisplayResult(dt); } catch (Exception ex) { Console.WriteLine("出现错误:{0}" + ex.Message); } finally { conn1.Close(); } break; //第三种方法 case 3: using (SqlConnection conn2 = new SqlConnection()) { conn2.ConnectionString = connectionstring; conn2.Open(); if (conn2.State == ConnectionState.Open) { Console.WriteLine("这是第三种方法,可以成功连接到数据库"); } } break; default: Console.WriteLine("输入错误,请重新输入"); break; } } while (i != 0); Thread.Sleep(5000); } //dataset 中有datatable对象,datacolumn对象,datarow对象。 //显示datatable中的数据 //dataset中的数据实际上是数据库中的副本 static void DisplayResult(DataTable dt) { for (int i = 0; i < dt.Columns.Count; i++) { Console.Write(dt.Columns[i].ColumnName.PadRight(10)); } Console.WriteLine(); for (int i = 0; i < dt.Rows.Count; i++) { for (int d = 0; d < dt.Columns.Count;d++ ) { Console.Write(dt.Rows[i][d].ToString()); } Console.WriteLine(); } } } } ;