Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Need help on how to if record exists update else insert c#

Need help on how to if record exists update else insert c#

Scheduled Pinned Locked Moved C#
helpcsharptutorialquestionannouncement
4 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Bootzilla33
    wrote on last edited by
    #1

    I'm trying to do an if record exists update statement else insert statement and can't get past the line:

    OracleDataReader reader = check_RID.ExecuteReader();

    Keep getting ora-00096 missing expression error:

    OracleConnection con = new OracleConnection(strConnection);
    con.Open();
    OracleCommand check_RID = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = @rid)", con);
    check_RID.Parameters.Add("@rid", labelRID.Text);
    OracleDataReader reader = check_RID.ExecuteReader();

            if (reader.HasRows)
            {
                OracleConnection conn = new OracleConnection();  // C#
                conn.ConnectionString = strConnection;
                conn.Open();
    
                OracleCommand cmd = new OracleCommand();
                cmd.Connection = conn;
                cmd.CommandText = "UPDATE...
    
    
                cmd.ExecuteNonQuery();
    
                conn.Close();
                Response.Redirect("primecontractor.aspx?Id=" + labelRID.Text);
            }
            else
            {
    
                OracleConnection conn = new OracleConnection();  // C#
                conn.ConnectionString = strConnection;
                conn.Open();
    
                OracleCommand cmd = new OracleCommand();
                cmd.Connection = conn;
                cmd.CommandText = "INSERT....
              ......
    
    
    
                cmd.ExecuteNonQuery();
    
                conn.Close();
    
    M Richard DeemingR N 3 Replies Last reply
    0
    • B Bootzilla33

      I'm trying to do an if record exists update statement else insert statement and can't get past the line:

      OracleDataReader reader = check_RID.ExecuteReader();

      Keep getting ora-00096 missing expression error:

      OracleConnection con = new OracleConnection(strConnection);
      con.Open();
      OracleCommand check_RID = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = @rid)", con);
      check_RID.Parameters.Add("@rid", labelRID.Text);
      OracleDataReader reader = check_RID.ExecuteReader();

              if (reader.HasRows)
              {
                  OracleConnection conn = new OracleConnection();  // C#
                  conn.ConnectionString = strConnection;
                  conn.Open();
      
                  OracleCommand cmd = new OracleCommand();
                  cmd.Connection = conn;
                  cmd.CommandText = "UPDATE...
      
      
                  cmd.ExecuteNonQuery();
      
                  conn.Close();
                  Response.Redirect("primecontractor.aspx?Id=" + labelRID.Text);
              }
              else
              {
      
                  OracleConnection conn = new OracleConnection();  // C#
                  conn.ConnectionString = strConnection;
                  conn.Open();
      
                  OracleCommand cmd = new OracleCommand();
                  cmd.Connection = conn;
                  cmd.CommandText = "INSERT....
                ......
      
      
      
                  cmd.ExecuteNonQuery();
      
                  conn.Close();
      
      M Offline
      M Offline
      Michael_Davies
      wrote on last edited by
      #2

      From MSDN: When using named parameters in an SQL statement called by an OracleCommand of CommandType.Text, you must precede the parameter name with a colon . However, in a stored procedure, or when referring to a named parameter elsewhere in your code (for example, when adding OracleParameter objects to the Parameters property), do not precede the named parameter with a colon. The .NET Framework Data Provider for Oracle supplies the colon automatically. Also rather than execute a reader why not use scalar as COUNT returns a single value test it non-zero.

      1 Reply Last reply
      0
      • B Bootzilla33

        I'm trying to do an if record exists update statement else insert statement and can't get past the line:

        OracleDataReader reader = check_RID.ExecuteReader();

        Keep getting ora-00096 missing expression error:

        OracleConnection con = new OracleConnection(strConnection);
        con.Open();
        OracleCommand check_RID = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = @rid)", con);
        check_RID.Parameters.Add("@rid", labelRID.Text);
        OracleDataReader reader = check_RID.ExecuteReader();

                if (reader.HasRows)
                {
                    OracleConnection conn = new OracleConnection();  // C#
                    conn.ConnectionString = strConnection;
                    conn.Open();
        
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = conn;
                    cmd.CommandText = "UPDATE...
        
        
                    cmd.ExecuteNonQuery();
        
                    conn.Close();
                    Response.Redirect("primecontractor.aspx?Id=" + labelRID.Text);
                }
                else
                {
        
                    OracleConnection conn = new OracleConnection();  // C#
                    conn.ConnectionString = strConnection;
                    conn.Open();
        
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = conn;
                    cmd.CommandText = "INSERT....
                  ......
        
        
        
                    cmd.ExecuteNonQuery();
        
                    conn.Close();
        
        Richard DeemingR Offline
        Richard DeemingR Offline
        Richard Deeming
        wrote on last edited by
        #3

        AFAIK, the Oracle command uses a : as the parameter prefix, not a @.

        OracleCommand check_RID = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = :rid)", con);
        check_RID.Parameters.Add("rid", labelRID.Text);


        "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

        "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

        1 Reply Last reply
        0
        • B Bootzilla33

          I'm trying to do an if record exists update statement else insert statement and can't get past the line:

          OracleDataReader reader = check_RID.ExecuteReader();

          Keep getting ora-00096 missing expression error:

          OracleConnection con = new OracleConnection(strConnection);
          con.Open();
          OracleCommand check_RID = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = @rid)", con);
          check_RID.Parameters.Add("@rid", labelRID.Text);
          OracleDataReader reader = check_RID.ExecuteReader();

                  if (reader.HasRows)
                  {
                      OracleConnection conn = new OracleConnection();  // C#
                      conn.ConnectionString = strConnection;
                      conn.Open();
          
                      OracleCommand cmd = new OracleCommand();
                      cmd.Connection = conn;
                      cmd.CommandText = "UPDATE...
          
          
                      cmd.ExecuteNonQuery();
          
                      conn.Close();
                      Response.Redirect("primecontractor.aspx?Id=" + labelRID.Text);
                  }
                  else
                  {
          
                      OracleConnection conn = new OracleConnection();  // C#
                      conn.ConnectionString = strConnection;
                      conn.Open();
          
                      OracleCommand cmd = new OracleCommand();
                      cmd.Connection = conn;
                      cmd.CommandText = "INSERT....
                    ......
          
          
          
                      cmd.ExecuteNonQuery();
          
                      conn.Close();
          
          N Offline
          N Offline
          Nelson Costa Inacio
          wrote on last edited by
          #4

          Check this Microsoft SQL Server and Oracle Compared[^] Will help you to understand the differences between Oracle and SQL Server.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups