需要帮助,如何记录是否存在更新否则插入 [英] Need help on how to if record exists update else insert

查看:55
本文介绍了需要帮助,如何记录是否存在更新否则插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做一个if记录是否存在update语句else insert语句,并且无法通过以下行:

OracleDataReader reader = check_RID.ExecuteReader();

保持获取ora-00096缺少表达错误:

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();

推荐答案

            OracleConnection con = new OracleConnection(strConnection);
            try
            {
                con.Open();
                OracleCommand cmd = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = @rid)", con);
                check_RID.Parameters.Add("@rid", labelRID.Text);
                count = command.ExecuteOracleScalar();

                if (count > 0)
                {
                    OracleCommand cmd = new OracleCommand();
                    cmd.CommandText = "UPDATE...";
                    cmd.Connection = con;
                    cmd.ExecuteNonQuery();
                    Response.Redirect("primecontractor.aspx?Id=" + labelRID.Text);
                }
                else
                {
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = con;
                    cmd.CommandText = "INSERT....";
                    cmd.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message, ex);
            }
            finally
            {
                con.Close();
            }



这篇关于需要帮助,如何记录是否存在更新否则插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆