c# 关于如何连接数据库的几种方法(switch语句中)
2010-11-20 23:08
519 查看
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();
}
}
}
}
;
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();
}
}
}
}
;
相关文章推荐
- C#连接数据库的几种方法总结
- 用ASP.NET和C#连接数据库的几种方法
- C#(.net)中的一次连接数据库执行多条sql语句(两种方法)
- 用ASP.NET和C#连接数据库的几种方法
- 用ASP.NET和C#连接数据库的几种方法
- C#实现连接SQL Server2012数据库并执行SQL语句的方法
- c#连接SQL Server 数据库的几种方法
- C#连接几种数据库的方法(转)
- C#中如何连接数据库并执行SQL语句
- 关于C#winfrom连接数据库的方法及解释
- c#中数据库字符串的连接几种方式
- c#连接各种数据库的方法
- C# 简单连接数据库并执行SQL查询语句
- [原]Java web学习系列之 Java web开发中数据库连接几种方法
- C#利用ODP.net免安装Oracle Client连接数据库方法
- 关于数据库查询语句SqlDataReader的连接释放问题的解决办法
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- VB.NET连接数据库的几种方法
- C#2005如何读取XML文件中的数据库连接字符串??? (好像和2003不一样啊) 急,跪求!
- c#中连接数据库关于sqlconnection的用户sa无法登录的问题