C#操作SQLserver和oracle数据库全总结.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
C#是一种广泛使用的编程语言,尤其在开发企业级应用程序时,常常需要与数据库进行交互,如SQL Server和Oracle。这两个数据库系统是业界常用的数据库管理系统,它们各有特点,但都有各自的.NET框架支持,使得C#开发者可以方便地进行数据操作。 一、C#操作SQL Server数据库 1. **包含命名空间**:在C#代码中,首先需要包含`System.Data.SqlClient`命名空间,这包含了处理SQL Server所需的所有类和方法。 2. **创建连接字符串**:连接字符串定义了数据库服务器的位置、要连接的数据库名、用户名和密码。例如: ```csharp string strConn = "Data Source = 1; Initial Catalog = 2; User ID = 3; Pwd = 4"; ``` 其中,`1`代表服务器IP或服务器名称,`2`是数据库名,`3`是用户名,`4`是密码。 3. **建立数据库连接**:使用`SqlConnection`类创建一个新的数据库连接实例。 ```csharp SqlConnection conn = new SqlConnection(strConn); ``` 4. **打开连接**:调用`Open()`方法来建立与数据库的连接。 ```csharp conn.Open(); ``` 5. **编写SQL语句**:根据需求编写SQL查询或DML语句,如选择所有表中的记录。 ```csharp string strSql = "SELECT * FROM TABLE"; ``` 6. **创建命令对象**:使用`SqlCommand`类创建一个SQL命令,将SQL语句和连接对象作为参数传递。 ```csharp SqlCommand cmd = new SqlCommand(strSql, conn); ``` 7. **执行SQL命令**:`SqlCommand`提供三种执行方法: - `ExecuteScalar()`:返回第一条记录的第一列,通常用于单值查询,结果需强制类型转换。 - `ExecuteReader()`:返回`SqlDataReader`对象,可用于遍历所有记录,适用于查询多条记录。 - `ExecuteNonQuery()`:返回受影响的行数,用于INSERT、UPDATE、DELETE等操作。 对于`ExecuteReader()`的示例: ```csharp SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { // 获取日期字段并转换为字符串 temp.Bt.Date = dr["Date"].ToString(); } ``` 8. **关闭连接**:确保在操作完成后关闭数据库连接以释放资源。 ```csharp conn.Close(); ``` 9. **异常处理**:在数据库操作中,异常处理是必不可少的,应使用`try-catch-finally`块,确保在任何情况下都能正确关闭数据库连接。 二、C#操作Oracle数据库 与SQL Server相似,但需要使用`System.Data.OracleClient`命名空间,并且需要引入Oracle客户端的DLL。创建连接字符串和执行SQL的方式基本相同,只是类名和方法名稍有变化: 1. **包含命名空间**:使用`using System.Data.OracleClient;`引入Oracle支持。 2. **创建连接字符串**:Oracle连接字符串的格式略有不同,不需要`Initial Catalog`,而是直接指定数据库服务名(SID)或服务标识(Service Name)。 ```csharp string strConn = "Data Source = 1; User ID = 2; Pwd = 3"; ``` 3. **建立数据库连接**:使用`OracleConnection`类创建连接。 ```csharp OracleConnection conn = new OracleConnection(strConn); ``` 4. - 8. **执行SQL命令**:与SQL Server的执行过程相同,只是使用`OracleCommand`类,其方法也是`ExecuteScalar()`, `ExecuteReader()`和`ExecuteNonQuery()`。 9. **异常处理**:同样需要处理可能出现的异常,确保数据库连接在任何情况下都能正常关闭。 C#与SQL Server和Oracle数据库的交互主要通过ADO.NET实现,操作流程大致相同,主要是数据库连接字符串、使用的类和方法根据不同的数据库系统有所不同。在实际应用中,需要根据具体的需求和环境进行调整。
- 粉丝: 4
- 资源: 7万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助