下面是详细讲解“C#连接数据库的几种方法”的完整攻略。
1. 前置条件
在进行C#连接数据库之前,需要确保以下前置条件已经满足:
- 安装并已经配置好需要使用的数据库管理软件,并启动相应的服务。
- 在使用数据库管理软件创建一个目标数据库,并为目标数据库添加相应的表和数据,以便在连接测试中使用。
2. C#连接数据库的几种方法
2.1 ADO.NET方式
ADO.NET是一种常用的C#连接数据库的方式,可以使用以下步骤实现:
- 引用命名空间和数据库驱动库。
using System.Data;
using System.Data.SqlClient;
- 创建SqlConnection对象并打开连接。
SqlConnection conn = new SqlConnection("server=127.0.0.1;database=testDB;uid=root;pwd=123456;");
conn.Open();
- 创建SqlCommand对象,并执行对应的SQL语句。
SqlCommand cmd = new SqlCommand("select * from Table1", conn);
SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
- 关闭连接和释放资源。
reader.Close();
cmd.Dispose();
conn.Close();
2.2 LINQ to SQL 方式
LINQ to SQL 是基于LINQ 查询语法的一种C#连接数据库的方式,可以使用以下步骤实现:
- 引用命名空间和数据库驱动库。
using System.Data.Linq;
using System.Data.Linq.Mapping;
- 创建 DataContext 对象并连接数据库。
DataContext context = new DataContext("server=127.0.0.1;database=testDB;uid=root;pwd=123456;");
- 创建 Table 对象并查询数据。
Table<Table1> table1= context.GetTable<Table1>();
var query = from t in table1
select t;
foreach (Table1 t in query)
{
Console.WriteLine(t.Col1);
}
2.3 Entity Framework方式
Entity Framework 是一种常用的C#连接数据库的方式,可以使用以下步骤实现:
- 引用命名空间和数据库驱动库。
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
- 创建 DbContext 对象并连接数据库。
public class MyContext : DbContext
{
public MyContext() : base("server=127.0.0.1;database=testDB;uid=root;pwd=123456;")
{ }
public DbSet<Table1> Table1 { get; set; }
public DbSet<Table2> Table2 { get; set; }
}
- 查询数据,并进行相应的操作。
using (var context = new MyContext())
{
var query = from t in context.Table1
select t;
foreach (Table1 t in query)
{
Console.WriteLine(t.Col1);
}
}
3. 示例说明
下面是两个示例,分别演示了使用 ADO.NET 和 Entity Framework 连接数据库并进行操作的过程。
3.1 ADO.NET 示例
using System;
using System.Data;
using System.Data.SqlClient;
namespace ADODemo
{
class Program
{
static void Main(string[] args)
{
SqlConnection conn = new SqlConnection("server=127.0.0.1;database=testDB;uid=root;pwd=123456;");
conn.Open();
SqlCommand cmd = new SqlCommand("select * from Table1", conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
reader.Close();
cmd.Dispose();
conn.Close();
}
}
}
3.2 Entity Framework 示例
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
namespace EFCoreDemo
{
class Program
{
static void Main(string[] args)
{
using (var context = new MyContext())
{
var query = from t in context.Table1
select t;
foreach (Table1 t in query)
{
Console.WriteLine(t.Col1);
}
}
}
}
}
以上就是C#连接数据库的几种方法的详细讲解,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#连接数据库的几种方法 - Python技术站