当前位置:首页 > 行业动态 > 正文

c#数据库教程简单的

C#数据库教程,内容简单易懂,适合初学者快速上手。

C# 数据库教程简单的

c#数据库教程简单的  第1张

一、数据库基础概念

1、什么是数据库:数据库是一个有组织地存储数据的集合,它可以包含各种类型的数据,如文本、数字、图像等,数据库管理系统(DBMS)用于管理数据库的创建、维护和操作,常见的数据库类型包括关系型数据库(如MySQL、SQL Server、Oracle等)和非关系型数据库(如MongoDB、Redis等)。

2、关系型数据库的特点:关系型数据库以表格的形式存储数据,每个表格由行和列组成,行表示记录,列表示字段,不同的表格之间可以通过键进行关联,形成复杂的数据结构,关系型数据库具有数据一致性、完整性约束、事务支持等优点,适用于处理复杂的数据关系和多用户并发访问的场景。

3、非关系型数据库的特点:非关系型数据库不遵循传统的表格形式存储数据,而是采用灵活的数据模型,如键值对、文档、图形等,非关系型数据库通常具有高性能、可扩展性强、适合处理大量半结构化或非结构化数据等特点,常用于大数据、实时数据处理、内容管理系统等领域。

二、C#连接数据库的方式

c#数据库教程简单的  第2张

1、使用ADO.NET连接数据库:ADO.NET是微软提供的一种用于访问数据库的技术框架,它提供了一组类和接口,用于与各种数据库进行交互,以下是使用ADO.NET连接到SQL Server数据库的基本步骤:

引入命名空间:在C#代码中,需要引入System.Data.SqlClient命名空间,以便使用相关的数据库操作类。

建立连接:使用SqlConnection类创建一个数据库连接对象,并指定连接字符串,连接字符串包含了数据库服务器地址、数据库名称、用户名和密码等信息。

     string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
     SqlConnection connection = new SqlConnection(connectionString);

打开连接:调用Open方法打开数据库连接。

c#数据库教程简单的  第3张

执行命令:使用SqlCommand类创建命令对象,并指定要执行的SQL语句,然后通过ExecuteNonQuery方法执行命令,或者使用ExecuteReader方法获取查询结果。

     SqlCommand command = new SqlCommand("SELECT * FROM myTable", connection);
     SqlDataReader reader = command.ExecuteReader();
     while (reader.Read())
     {
         Console.WriteLine(reader["ColumnName"].ToString());
     }

关闭连接:操作完成后,调用Close方法关闭数据库连接。

2、使用Entity Framework连接数据库:Entity Framework是微软推出的一款对象关系映射(ORM)框架,它允许开发人员使用面向对象的方式来操作数据库,以下是使用Entity Framework连接到数据库的基本步骤:

安装Entity Framework:通过NuGet包管理器安装Entity Framework相关程序集。

创建模型类:根据数据库表的结构创建对应的模型类,模型类的属性与数据库表中的列相对应。

配置数据库连接:在应用程序的配置文件中设置数据库连接字符串。

创建DbContext派生类:创建一个继承自DbContext的类,并在其中定义一个DbSet属性,用于表示数据库中的表。

     public class MyDbContext : DbContext
     {
         public DbSet<MyModel> MyTable { get; set; }
         protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
         {
             optionsBuilder.UseSqlServer("Your_Connection_String_Here");
         }
     }

执行数据库操作:使用MyDbContext类的实例来执行数据库操作,如添加、删除、修改和查询等。

     using (var context = new MyDbContext())
     {
         var entity = new MyModel { Column1 = "Value1", Column2 = "Value2" };
         context.MyTable.Add(entity);
         context.SaveChanges();
     }

三、常用的数据库操作

1、查询数据:可以使用SELECT语句从数据库表中查询数据,在C#中,可以使用SqlCommandDbContext来执行查询操作,并将结果读取到程序中进行处理。

   string query = "SELECT * FROM myTable WHERE Column1 = @value";
   SqlCommand command = new SqlCommand(query, connection);
   command.Parameters.AddWithValue("@value", "someValue");
   SqlDataReader reader = command.ExecuteReader();
   while (reader.Read())
   {
       // 处理查询结果
   }

2、插入数据:使用INSERT INTO语句向数据库表中插入新数据,在C#中,可以构建相应的SQL语句或使用DbContextAddSaveChanges方法来插入数据。

   string insertQuery = "INSERT INTO myTable (Column1, Column2) VALUES (@value1, @value2)";
   SqlCommand command = new SqlCommand(insertQuery, connection);
   command.Parameters.AddWithValue("@value1", "Value1");
   command.Parameters.AddWithValue("@value2", "Value2");
   command.ExecuteNonQuery();

3、更新数据:使用UPDATE语句更新数据库表中已有的数据,在C#中,可以构建相应的SQL语句或使用DbContextFindSaveChanges方法来更新数据。

   string updateQuery = "UPDATE myTable SET Column1 = @value1 WHERE Column2 = @value2";
   SqlCommand command = new SqlCommand(updateQuery, connection);
   command.Parameters.AddWithValue("@value1", "NewValue1");
   command.Parameters.AddWithValue("@value2", "OldValue2");
   command.ExecuteNonQuery();

4、删除数据:使用DELETE语句从数据库表中删除数据,在C#中,可以构建相应的SQL语句或使用DbContextRemoveSaveChanges方法来删除数据。

   string deleteQuery = "DELETE FROM myTable WHERE Column1 = @value";
   SqlCommand command = new SqlCommand(deleteQuery, connection);
   command.Parameters.AddWithValue("@value", "ValueToDelete");
   command.ExecuteNonQuery();

四、示例代码

以下是一个简单的示例,演示了如何使用C#和ADO.NET连接到SQL Server数据库,并进行查询、插入、更新和删除操作:

|操作类型|代码示例|说明|

|—-|—-|—-|

|查询数据|“`csharp

string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";

SqlConnection connection = new SqlConnection(connectionString);

connection.Open();

string query = "SELECT * FROM myTable";

SqlCommand command = new SqlCommand(query, connection);

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())

Console.WriteLine(reader["ColumnName"].ToString());

reader.Close();

connection.Close();

“`|该代码连接到SQL Server数据库,执行查询操作,并输出查询结果。|

|插入数据|“`csharp

string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";

SqlConnection connection = new SqlConnection(connectionString);

connection.Open();

string insertQuery = "INSERT INTO myTable (Column1, Column2) VALUES (@value1, @value2)";

SqlCommand command = new SqlCommand(insertQuery, connection);

command.Parameters.AddWithValue("@value1", "Value1");

command.Parameters.AddWithValue("@value2", "Value2");

command.ExecuteNonQuery();

connection.Close();

“`|该代码连接到SQL Server数据库,执行插入操作,向表中插入一条新记录。|

|更新数据|“`csharp

string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";

SqlConnection connection = new SqlConnection(connectionString);

connection.Open();

string updateQuery = "UPDATE myTable SET Column1 = @value1 WHERE Column2 = @value2";

SqlCommand command = new SqlCommand(updateQuery, connection);

command.Parameters.AddWithValue("@value1", "NewValue1");

command.Parameters.AddWithValue("@value2", "OldValue2");

command.ExecuteNonQuery();

connection.Close();

“`|该代码连接到SQL Server数据库,执行更新操作,将指定记录的某一列值更新为新的值。|

|删除数据|“`csharp

string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";

SqlConnection connection = new SqlConnection(connectionString);

connection.Open();

string deleteQuery = "DELETE FROM myTable WHERE Column1 = @value";

SqlCommand command = new SqlCommand(deleteQuery, connection);

command.Parameters.AddWithValue("@value", "ValueToDelete");

command.ExecuteNonQuery();

connection.Close();

“`|该代码连接到SQL Server数据库,执行删除操作,删除表中满足条件的记录。|

五、注意事项

1、确保正确处理数据库连接的打开和关闭,避免出现连接泄漏等问题,在使用完数据库连接后,应及时关闭连接。

2、对于敏感信息,如数据库连接字符串中的用户名和密码等,应妥善保管,避免泄露,可以使用加密技术对连接字符串进行加密存储。

3、在进行数据库操作时,应注意异常处理,捕获可能出现的错误,并进行相应的处理,以提高程序的稳定性和可靠性。

   try
   {
       // 数据库操作代码
   }
   catch (Exception ex)
   {
       Console.WriteLine("An error occurred: " + ex.Message);
   }
0