首页 经验

C#基础:数据库SQLserver和PLSQL的基本用法

时间: 2024-10-19 12:58:28

(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)


在C#中操作数据库(如SQL Server和PL/SQL)通常涉及使用ADO.NET,实体框架等技术。以下是关于如何在C#中进行基本的SQL Server和PL/SQL操作的一些示例和指导。


1. 使用SQL Server

1.1. 连接到SQL Server

可以使用 SqlConnection 来连接SQL Server。


csharp

using System;

using System.Data.SqlClient;


class Program

{

    static void Main()

    {

        string connectionString = "Server=your_server;Database=your_database;User Id=your_username;Password=your_password;";


        using (SqlConnection connection = new SqlConnection(connectionString))

        {

            connection.Open();

            Console.WriteLine("连接成功!");

        }

    }

}


1.2. 执行SQL查询

可以使用 SqlCommand 来执行SQL查询。


csharp

string sql = "SELECT * FROM YourTable";

using (SqlCommand command = new SqlCommand(sql, connection))

{

    using (SqlDataReader reader = command.ExecuteReader())

    {

        while (reader.Read())

        {

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

        }

    }

}


1.3. 插入数据

插入数据可以使用参数化查询,以防止SQL注入。


csharp

string insertSql = "INSERT INTO YourTable (Column1, Column2) VALUES (@Val1, @Val2)";

using (SqlCommand insertCommand = new SqlCommand(insertSql, connection))

{

    insertCommand.Parameters.AddWithValue("@Val1", value1);

    insertCommand.Parameters.AddWithValue("@Val2", value2);

    int rowsAffected = insertCommand.ExecuteNonQuery();

    Console.WriteLine($"{rowsAffected} 行插入成功!");

}


2. 使用PL/SQL

PL/SQL是Oracle数据库的过程式扩展,通常在C#中,可以通过ODP.NET或Oracle.ManagedDataAccess与Oracle数据库交互。以下是一些基本示例。


2.1. 连接到Oracle数据库

通过ODP.NET连接到Oracle。


csharp

using Oracle.ManagedDataAccess.Client;


string oracleConnectionString = "User Id=your_username;Password=your_password;Data Source=your_data_source;";


using (OracleConnection connection = new OracleConnection(oracleConnectionString))

{

    connection.Open();

    Console.WriteLine("连接成功!");

}


2.2. 执行PL/SQL块

可以执行PL/SQL块的方式如下:


csharp

using (OracleCommand command = new OracleCommand("BEGIN your_procedure; END;", connection))

{

    command.ExecuteNonQuery();

}


2.3. 使用参数化查询

PL/SQL同样支持参数化查询。


csharp

string plSql = "BEGIN insert_into_table(:val1, :val2); END;";

using (OracleCommand insertCommand = new OracleCommand(plSql, connection))

{

    insertCommand.Parameters.Add("val1", OracleDbType.Varchar2).Value = value1;

    insertCommand.Parameters.Add("val2", OracleDbType.Varchar2).Value = value2;


    insertCommand.ExecuteNonQuery();

}


3. 错误处理

在C#中执行数据库操作时,应该使用try-catch来处理异常。


csharp

try

{

    // 数据库操作

}

catch (SqlException sqlEx)

{

    Console.WriteLine($"SQL错误: {sqlEx.Message}");

}

catch (OracleException oracleEx)

{

    Console.WriteLine($"Oracle错误: {oracleEx.Message}");

}

catch (Exception ex)

{

    Console.WriteLine($"其他错误: {ex.Message}");

}


4. 总结

- 使用 SqlConnectionSqlCommand 来与SQL Server交互。

- 使用 OracleConnectionOracleCommand 来与Oracle PL/SQL交互。

- 始终使用参数化查询以防止SQL注入攻击。

- 在进行数据库操作时,注意异常处理。


以上只是C#与SQL Server及PL/SQL数据库交互的基础知识,您可以根据具体需求进一步深入学习并扩展其功能。


上一个 注册表目录结构 文章列表 下一个 JS正则表达式:常用正则手册/RegExp/正则积累_js手机号正则

最新

工具

© 2019-至今 适观科技

沪ICP备17002269号