欢迎光临
我们一直在努力

c#数据库访问归纳

在C#中进行数据库访问是开发应用程序时非常常见的任务,它允许程序与数据库进行交互,执行各种数据操作,以下是对C#数据库访问的归纳:

一、数据库连接

1、选择数据库连接类

SqlConnection:用于连接SQL Server数据库,是最常用的连接类之一。string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; SqlConnection conn = new SqlConnection(connectionString);

OleDbConnection:适用于连接早期的数据库系统,如Access等,其连接字符串格式为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=myDatabase.mdb;User Id=admin;Password=;

OdbcConnection:用于连接支持ODBC的数据库,如MySQL、PostgreSQL等,连接字符串格式为:Driver={MySQL ODBC 8.0 Unicode Driver};Server=myServerAddress;Database=myDataBase;User=myUsername;Password=myPassword;

OracleConnection:专门用于连接Oracle数据库,需要引用System.Data.OracleClient命名空间,并添加对Oracle客户端软件的引用。

2、连接数据库

使用连接类的Open方法打开数据库连接,conn.Open();,在操作完成后,应使用Close方法关闭连接,以释放资源,如:conn.Close();

二、执行SQL命令

1、SqlCommand对象

创建SqlCommand对象来执行SQL命令,需要指定要执行的SQL语句和连接对象。string sql = "SELECT * FROM Users"; SqlCommand cmd = new SqlCommand(sql, conn);

可以使用Parameters属性向SQL命令中添加参数,以防止SQL注入攻击。cmd.Parameters.AddWithValue("@UserName", "John");

2、执行查询

ExecuteNonQuery:用于执行不返回结果集的命令,如INSERT、UPDATE、DELETE等。int rowsAffected = cmd.ExecuteNonQuery();

ExecuteReader:用于执行SELECT查询,返回一个SqlDataReader对象,通过它可以遍历查询结果。SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["ColumnName"].ToString()); }

ExecuteScalar:用于执行返回单个值的查询,如聚合函数COUNT、SUM等。int count = (int)cmd.ExecuteScalar();

三、读取数据

1、使用SqlDataReader

SqlDataReader提供了一种向前读取数据行的方式,只能读取,不能写入,在读取数据时,可以通过字段名称或索引来获取字段值。string userName = reader["UserName"].ToString();string userName = reader[0].ToString();

读取完数据后,应及时关闭SqlDataReader对象,以释放资源。reader.Close();

2、使用DataTable

可以将SqlDataReader中的数据填充到DataTable中,以便更方便地操作数据。DataTable dt = new DataTable(); dt.Load(reader);

可以使用DataTable的Rows属性来遍历数据行,使用Columns属性来获取列信息。foreach (DataRow row in dt.Rows) { Console.WriteLine(row["UserName"].ToString()); }

四、事务处理

1、开始事务

使用连接对象的BeginTransaction方法开始一个事务。SqlTransaction transaction = conn.BeginTransaction();

2、提交事务

如果所有的操作都成功完成,使用事务对象的Commit方法提交事务。transaction.Commit();

3、回滚事务

如果在事务过程中出现错误,使用事务对象的Rollback方法回滚事务,以撤销所有的操作。transaction.Rollback();

五、异常处理

1、使用try-catch块

在进行数据库操作时,应使用try-catch块来捕获可能出现的异常,并进行相应的处理。try { ... } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); }

2、常见异常类型

SqlException:表示SQL错误,如语法错误、连接失败等。

InvalidOperationException:表示无效的操作,如在已关闭的连接上执行命令等。

FormatException:表示格式错误,如日期格式不正确等。

C#中的数据库访问涉及多个方面,包括数据库连接、执行SQL命令、读取数据、事务处理和异常处理等,开发人员需要根据具体的需求选择合适的连接方式和操作方法,并注意异常的处理,以确保数据库操作的稳定性和安全性。

赞(0) 打赏
未经允许不得转载:九八云安全 » c#数据库访问归纳

评论 抢沙发