How to execute a update statement using Oracle ODP.Net in C#

后端 未结 3 721
攒了一身酷
攒了一身酷 2020-12-18 00:41

I am using Oracle.DataAccess.Client to work with Oracle database in my ASP.Net application. There is no help documentation in

相关标签:
3条回答
  • 2020-12-18 01:22

    So after a bit of sleuthing and working this one out for a while, I found that the method I used to add a new parameter to the connection command is as follows. I did not find the method as was stated in the previous post. Mind you I am using a query object that I am passing the values around with.

      public Boolean InsertMethod(Query _query)
        {
            var success = false;
            var queryString = string.Format(@"INSERT INTO TABLE(ID, OWNER, TEXT) VALUES (TABLE_SEQ.NEXTVAL,:OWNER, :TEXT)");
            try
            {
                using (OracleConnection con = new OracleConnection(ConString))
                {
                    con.Open();
                    OracleCommand cmd = con.CreateCommand();
                    cmd.CommandText = queryString;
                    cmd.Parameters.Add("OWNER", _query.Owner);
                    cmd.Parameters.Add("TEXT", _query.Text);          
    
                    int rowsUpdated = cmd.ExecuteNonQuery();
    
                    if (rowsUpdated > 0) success = true;
                }
    
                return success;
            }
            catch (Exception ex)
            {
                log.Error(ex);
                throw;
            }
        }
    
    0 讨论(0)
  • 2020-12-18 01:31

    Further to @Chris's answer, here is the documentation page of OracleParameter class which has sample code on using OracleCommand to execute Updates.

    EDIT: Here is the entry point for ODP.net documentation.

    0 讨论(0)
  • 2020-12-18 01:32

    I will need to check the exact syntax, but here is some quick code off the top of my head

    using (OracleConnection con = new OracleConnection(...))
    {
      con.Open();
      OracleCommand cmd = con.CreateCommand();
      cmd.CommandType = CommandType.Text;
      cmd.CommandText = "update table set col1 = :param1, col2 = :param2 where key = :keyValue";
      cmd.Parameters.AddWithValue("param1", 1);
      cmd.Parameters.AddWithValue("param2", "Text data");
      cmd.Parameters.AddWithValue("keyValue", "1");
      cmd.ExecuteNonQuery();
    }
    

    The above creates a command object sets the command up to execute an SQL Update statement, in this example I show one way to setup a parameterized query, you should always go with a parameterized query. Once the command is setup you just call ExecuteNonQuery to actually execute the command.

    0 讨论(0)
提交回复
热议问题