C#中如何实现使用Oracle进行数据库操作?

我正在学习C#编程,并希望使用Oracle进行数据库操作。我已经安装了Oracle数据库,并在Visual Studio中添加了Oracle.DataAccess引用,但我不知道如何开始连接和查询数据库。我需要知道如何设置连接字符串和使用C#代码实现插入、更新和查询数据等基本操作。希望有经验的程序员能够给我指点迷津。谢谢!

提问时间:2023-08-11 12:51:38 编辑时间:2023-08-11 12:51:40 提问者: Mystic_Moonlight
  • 青衣侠客
    7

    C#中实现使用Oracle进行数据库操作,需要先设置连接字符串,连接字符串由以下部分构成:

    Data Source=Oracle服务器名或IP地址:端口/Oracle服务名;User ID=用户名;Password=密码;

    其中Oracle服务器名或IP地址和端口是可以省略的。在连接Oracle数据库之前,还需要确保已经安装了Oracle.DataAccess.dll,该文件位于Oracle安装目录下的ODP.NET\bin目录下,或者在NuGet Package Manager中搜索Oracle.ManagedDataAccess并安装。接下来就可以使用以下代码来连接Oracle数据库,实现插入、更新和查询数据等基本操作:

    using Oracle.ManagedDataAccess.Client;
    
    ...
    
    string connString = "Data Source=狮虎;User ID=test;Password=test";
    
    try
    {
        using (OracleConnection conn = new OracleConnection(connString))
        {
            conn.Open();
            Console.WriteLine("Connected to Oracle database!");
        	
            // 插入数据
            string insertQuery = "INSERT INTO myTable (id, name, age) VALUES (1, '张三', 18)";
            using (OracleCommand cmd = new OracleCommand(insertQuery, conn))
            {
                int rowsInserted = cmd.ExecuteNonQuery();
                Console.WriteLine(rowsInserted + " rows inserted");
            }
        	
            // 更新数据
            string updateQuery = "UPDATE myTable SET age = 20 WHERE name = '张三'";
            using (OracleCommand cmd = new OracleCommand(updateQuery, conn))
            {
                int rowsUpdated = cmd.ExecuteNonQuery();
                Console.WriteLine(rowsUpdated + " rows updated");
            }
        	
            // 查询数据
            string selectQuery = "SELECT * FROM myTable";
            using (OracleCommand cmd = new OracleCommand(selectQuery, conn))
            {
                using (OracleDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Console.WriteLine(reader["id"] + ", " + reader["name"] + ", " + reader["age"]);
                    }
                }
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
    

    以上代码可以实现连接Oracle数据库,并实现插入、更新和查询数据等基本操作。希望对你有所帮助。

    回答时间:2023-08-11 12:51:43